Filter (Apache JMeter dist API)
Description: declaration: package: org.apache.jmeter.protocol.http.util.accesslog, interface: Filter

Package 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

  Modifier and Type
  Method
  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, org.apache.jmeter.testelement.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 Details

  - ### 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, org.apache.jmeter.testelement.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.