org.apache.jmeter.protocol.http.util.accesslog

## Interface Filter

- All Known Implementing Classes:
    LogFilter, SessionFilter

      public interface Filter

  Description:
  Filter interface is designed to make it easier to use Access Logs for JMeter test plans. Normally, a person would have to clean a log file manually and create the JMeter requests. The access log parse utility uses the filter to include/exclude files by either file name or regular expression pattern.

  It will also be used by HttpSamplers that use access logs. Using access logs is intended as a way to simulate production traffic. For functional testing, it is better to use the standard functional testing tools in JMeter. Using access logs can also reduce the amount of memory needed to run large test plans.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `excludeFiles(String[] filenames)` Exclude all files in the array
    `void` | `excludePattern(String[] regexp)` Exclude any log entry that contains the following regular expression pattern.
    `String` | `filter(String text)` In case the user wants to replace the file extension, log parsers should call this method.
    `void` | `includeFiles(String[] filenames)` Include all files in the array.
    `void` | `includePattern(String[] regexp)` Include any log entry that contains the following regular expression pattern.
    `boolean` | `isFiltered(String path, TestElement sampler)` Log parser will call this method to see if a particular entry should be filtered or not.
    `void` | `reset()` Tell the filter when the parsing has reached the end of the log file and is about to begin again.
    `void` | `setReplaceExtension(String oldextension, String newextension)`

- - ### Method Detail

    - #### setReplaceExtension

          void setReplaceExtension(String oldextension,
                                   String newextension)

      Parameters:
        `oldextension` - old extension
        `newextension` - new extension

    - #### includeFiles

          void includeFiles(String[] filenames)

      Include all files in the array.
      Parameters:
        `filenames` - names of files to include

    - #### excludeFiles

          void excludeFiles(String[] filenames)

      Exclude all files in the array
      Parameters:
        `filenames` - names of files to exclude

    - #### includePattern

          void includePattern(String[] regexp)

      Include any log entry that contains the following regular expression pattern.
      Parameters:
        `regexp` - list of regexp that match entries that should be included

    - #### excludePattern

          void excludePattern(String[] regexp)

      Exclude any log entry that contains the following regular expression pattern.
      Parameters:
        `regexp` - list of regexp that match entries that should be excluded

    - #### isFiltered

          boolean isFiltered(String path,
                             TestElement sampler)

      Log parser will call this method to see if a particular entry should be filtered or not.
      Parameters:
        `path` - log line that should be checked if it should to be filtered out
        `sampler` - `TestElement` in which the line would be added
      Returns:
        boolean `true` if line should be filtered out, `false` otherwise

    - #### filter

          String filter(String text)

      In case the user wants to replace the file extension, log parsers should call this method. This is useful for regression test plans. If a website is migrating from one platform to another and the file extension changes, the filter provides an easy way to do it without spending a lot of time.
      Parameters:
        `text` - log line to be filtered
      Returns:
        String

    - #### reset

          void reset()

      Tell the filter when the parsing has reached the end of the log file and is about to begin again. Gives the filter a chance to adjust it's values, if needed.

Copyright © 1998-2022 Apache Software Foundation. All Rights Reserved.