blob: 7145f89a88141ddbbdea978cd0b55f87e0afa3f5 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.12) on Tue Sep 06 11:23:22 EDT 2022 -->
<title>LogFilePatternReceiver (Apache Chainsaw 2.1.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="LogFilePatternReceiver (Apache Chainsaw 2.1.0 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/LogFilePatternReceiver.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.log4j.varia</a></div>
<h2 title="Class LogFilePatternReceiver" class="title">Class LogFilePatternReceiver</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../spi/ComponentBase.html" title="class in org.apache.log4j.spi">org.apache.log4j.spi.ComponentBase</a></li>
<li>
<ul class="inheritance">
<li><a href="../plugins/PluginSkeleton.html" title="class in org.apache.log4j.plugins">org.apache.log4j.plugins.PluginSkeleton</a></li>
<li>
<ul class="inheritance">
<li><a href="../plugins/Receiver.html" title="class in org.apache.log4j.plugins">org.apache.log4j.plugins.Receiver</a></li>
<li>
<ul class="inheritance">
<li>org.apache.log4j.varia.LogFilePatternReceiver</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../plugins/Plugin.html" title="interface in org.apache.log4j.plugins">Plugin</a></code>, <code><a href="../spi/Component.html" title="interface in org.apache.log4j.spi">Component</a></code>, <code>org.apache.log4j.spi.OptionHandler</code>, <code><a href="../spi/Thresholdable.html" title="interface in org.apache.log4j.spi">Thresholdable</a></code></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="../chainsaw/vfs/VFSLogFilePatternReceiver.html" title="class in org.apache.log4j.chainsaw.vfs">VFSLogFilePatternReceiver</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">LogFilePatternReceiver</span>
extends <a href="../plugins/Receiver.html" title="class in org.apache.log4j.plugins">Receiver</a></pre>
<div class="block">LogFilePatternReceiver can parse and tail log files, converting entries into
LoggingEvents. If the file doesn't exist when the receiver is initialized, the
receiver will look for the file once every 10 seconds.
<p>
This receiver relies on java.util.regex features to perform the parsing of text in the
log file, however the only regular expression field explicitly supported is
a glob-style wildcard used to ignore fields in the log file if needed. All other
fields are parsed by using the supplied keywords.
<p>
<b>Features:</b><br>
- specify the URL of the log file to be processed<br>
- specify the timestamp format in the file (if one exists, using patterns from <a href="https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text" class="externalLink"><code>SimpleDateFormat</code></a>)<br>
- specify the pattern (logFormat) used in the log file using keywords, a wildcard character (*) and fixed text<br>
- 'tail' the file (allows the contents of the file to be continually read and new events processed)<br>
- supports the parsing of multi-line messages and exceptions
- 'hostname' property set to URL host (or 'file' if not available)
- 'application' property set to URL path (or value of fileURL if not available)
- 'group' property can be set to associate multiple log file receivers
<p>
<b>Keywords:</b><br>
TIMESTAMP<br>
LOGGER<br>
LEVEL<br>
THREAD<br>
CLASS<br>
FILE<br>
LINE<br>
METHOD<br>
RELATIVETIME<br>
MESSAGE<br>
NDC<br>
PROP(key)<br>
(NL)<br>
<p>
(NL) represents a new line embedded in the log format, supporting log formats whose fields span multiple lines
<p>
Use a * to ignore portions of the log format that should be ignored
<p>
Example:<br>
If your file's patternlayout is this:<br>
<b>%d %-5p [%t] %C{2} (%F:%L) - %m%n</b>
<p>
specify this as the log format:<br>
<b>TIMESTAMP LEVEL [THREAD] CLASS (FILE:LINE) - MESSAGE</b>
<p>
To define a PROPERTY field, use PROP(key)
<p>
Example:<br>
If you used the RELATIVETIME pattern layout character in the file,
you can use PROP(RELATIVETIME) in the logFormat definition to assign
the RELATIVETIME field as a property on the event.
<p>
If your file's patternlayout is this:<br>
<b>%r [%t] %-5p %c %x - %m%n</b>
<p>
specify this as the log format:<br>
<b>PROP(RELATIVETIME) [THREAD] LEVEL LOGGER * - MESSAGE</b>
<p>
Note the * - it can be used to ignore a single word or sequence of words in the log file
(in order for the wildcard to ignore a sequence of words, the text being ignored must be
followed by some delimiter, like '-' or '[') - ndc is being ignored in the following example.
<p>
Assign a filterExpression in order to only process events which match a filter.
If a filterExpression is not assigned, all events are processed.
<p>
<b>Limitations:</b><br>
- no support for the single-line version of throwable supported by patternlayout<br>
(this version of throwable will be included as the last line of the message)<br>
- the relativetime patternLayout character must be set as a property: PROP(RELATIVETIME)<br>
- messages should appear as the last field of the logFormat because the variability in message content<br>
- exceptions are converted if the exception stack trace (other than the first line of the exception)<br>
is stored in the log file with a tab followed by the word 'at' as the first characters in the line<br>
- tailing may fail if the file rolls over.
<p>
<b>Example receiver configuration settings</b> (add these as params, specifying a LogFilePatternReceiver 'plugin'):<br>
param: "timestampFormat" value="yyyy-MM-d HH:mm:ss,SSS"<br>
param: "logFormat" value="PROP(RELATIVETIME) [THREAD] LEVEL LOGGER * - MESSAGE"<br>
param: "fileURL" value="file:///c:/events.log"<br>
param: "tailing" value="true"
<p>
This configuration will be able to process these sample events:<br>
710 [ Thread-0] DEBUG first.logger first - &lt;test&gt; &lt;test2&gt;something here&lt;/test2&gt; &lt;test3 blah=something/&gt; &lt;test4&gt; &lt;test5&gt;something else&lt;/test5&gt; &lt;/test4&gt;&lt;/test&gt;<br>
880 [ Thread-2] DEBUG first.logger third - &lt;test&gt; &lt;test2&gt;something here&lt;/test2&gt; &lt;test3 blah=something/&gt; &lt;test4&gt; &lt;test5&gt;something else&lt;/test5&gt; &lt;/test4&gt;&lt;/test&gt;<br>
880 [ Thread-0] INFO first.logger first - infomsg-0<br>
java.lang.Exception: someexception-first<br>
at Generator2.run(Generator2.java:102)<br></div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Scott Deboy</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MISSING_FILE_RETRY_MILLIS">MISSING_FILE_RETRY_MILLIS</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.log4j.plugins.Receiver">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.log4j.plugins.<a href="../plugins/Receiver.html" title="class in org.apache.log4j.plugins">Receiver</a></h3>
<code><a href="../plugins/Receiver.html#thresholdLevel">thresholdLevel</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.log4j.plugins.PluginSkeleton">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.log4j.plugins.<a href="../plugins/PluginSkeleton.html" title="class in org.apache.log4j.plugins">PluginSkeleton</a></h3>
<code><a href="../plugins/PluginSkeleton.html#active">active</a>, <a href="../plugins/PluginSkeleton.html#name">name</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.log4j.spi.ComponentBase">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.log4j.spi.<a href="../spi/ComponentBase.html" title="class in org.apache.log4j.spi">ComponentBase</a></h3>
<code><a href="../spi/ComponentBase.html#repository">repository</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">LogFilePatternReceiver</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#activateOptions()">activateOptions</a></span>()</code></th>
<td class="colLast">
<div class="block">Read and process the log file.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createPattern()">createPattern</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCustomLevelDefinitions()">getCustomLevelDefinitions</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFileURL()">getFileURL</a></span>()</code></th>
<td class="colLast">
<div class="block">Accessor</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFilterExpression()">getFilterExpression</a></span>()</code></th>
<td class="colLast">
<div class="block">Accessor</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getGroup()">getGroup</a></span>()</code></th>
<td class="colLast">
<div class="block">Accessor</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLogFormat()">getLogFormat</a></span>()</code></th>
<td class="colLast">
<div class="block">Accessor</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPath()">getPath</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTimestampFormat()">getTimestampFormat</a></span>()</code></th>
<td class="colLast">
<div class="block">Accessor</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getWaitMillis()">getWaitMillis</a></span>()</code></th>
<td class="colLast">
<div class="block">Accessor</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#initialize()">initialize</a></span>()</code></th>
<td class="colLast">
<div class="block">Build the regular expression needed to parse log entries</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isAppendNonMatches()">isAppendNonMatches</a></span>()</code></th>
<td class="colLast">
<div class="block">Accessor</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isTailing()">isTailing</a></span>()</code></th>
<td class="colLast">
<div class="block">Accessor</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isUseCurrentThread()">isUseCurrentThread</a></span>()</code></th>
<td class="colLast">
<div class="block">When true, this property uses the current Thread to perform the import,
otherwise when false (the default), a new Thread is created and started to manage
the import.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#process(java.io.BufferedReader)">process</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html?is-external=true" title="class or interface in java.io" class="externalLink">BufferedReader</a>&nbsp;bufferedReader)</code></th>
<td class="colLast">
<div class="block">Read, parse and optionally tail the log file, converting entries into logging events.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAppendNonMatches(boolean)">setAppendNonMatches</a></span>&#8203;(boolean&nbsp;appendNonMatches)</code></th>
<td class="colLast">
<div class="block">Mutator</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCustomLevelDefinitions(java.lang.String)">setCustomLevelDefinitions</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;customLevelDefinitions)</code></th>
<td class="colLast">
<div class="block">If the log file contains non-log4j level strings, they can be mapped to log4j levels using the format (android example):
V=TRACE,D=DEBUG,I=INFO,W=WARN,E=ERROR,F=FATAL,S=OFF</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setFileURL(java.lang.String)">setFileURL</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;fileURL)</code></th>
<td class="colLast">
<div class="block">Mutator</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setFilterExpression(java.lang.String)">setFilterExpression</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;filterExpression)</code></th>
<td class="colLast">
<div class="block">Mutator</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setGroup(java.lang.String)">setGroup</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;group)</code></th>
<td class="colLast">
<div class="block">Mutator</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setHost(java.lang.String)">setHost</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;host)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setLogFormat(java.lang.String)">setLogFormat</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;logFormat)</code></th>
<td class="colLast">
<div class="block">Mutator</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPath(java.lang.String)">setPath</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;path)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTailing(boolean)">setTailing</a></span>&#8203;(boolean&nbsp;tailing)</code></th>
<td class="colLast">
<div class="block">Mutator</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTimestampFormat(java.lang.String)">setTimestampFormat</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;timestampFormat)</code></th>
<td class="colLast">
<div class="block">Mutator.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setUseCurrentThread(boolean)">setUseCurrentThread</a></span>&#8203;(boolean&nbsp;useCurrentThread)</code></th>
<td class="colLast">
<div class="block">Sets whether the current Thread or a new Thread is created to perform the import,
the default being false (new Thread created).</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setWaitMillis(long)">setWaitMillis</a></span>&#8203;(long&nbsp;waitMillis)</code></th>
<td class="colLast">
<div class="block">Mutator</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#shutdown()">shutdown</a></span>()</code></th>
<td class="colLast">
<div class="block">Close the reader.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.log4j.plugins.Receiver">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.log4j.plugins.<a href="../plugins/Receiver.html" title="class in org.apache.log4j.plugins">Receiver</a></h3>
<code><a href="../plugins/Receiver.html#doPost(org.apache.log4j.spi.LoggingEvent)">doPost</a>, <a href="../plugins/Receiver.html#getThreshold()">getThreshold</a>, <a href="../plugins/Receiver.html#isAsSevereAsThreshold(org.apache.log4j.Level)">isAsSevereAsThreshold</a>, <a href="../plugins/Receiver.html#setThreshold(org.apache.log4j.Level)">setThreshold</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.log4j.plugins.PluginSkeleton">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.log4j.plugins.<a href="../plugins/PluginSkeleton.html" title="class in org.apache.log4j.plugins">PluginSkeleton</a></h3>
<code><a href="../plugins/PluginSkeleton.html#addPropertyChangeListener(java.beans.PropertyChangeListener)">addPropertyChangeListener</a>, <a href="../plugins/PluginSkeleton.html#addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)">addPropertyChangeListener</a>, <a href="../plugins/PluginSkeleton.html#firePropertyChange(java.beans.PropertyChangeEvent)">firePropertyChange</a>, <a href="../plugins/PluginSkeleton.html#firePropertyChange(java.lang.String,boolean,boolean)">firePropertyChange</a>, <a href="../plugins/PluginSkeleton.html#firePropertyChange(java.lang.String,int,int)">firePropertyChange</a>, <a href="../plugins/PluginSkeleton.html#firePropertyChange(java.lang.String,java.lang.Object,java.lang.Object)">firePropertyChange</a>, <a href="../plugins/PluginSkeleton.html#getLoggerRepository()">getLoggerRepository</a>, <a href="../plugins/PluginSkeleton.html#getName()">getName</a>, <a href="../plugins/PluginSkeleton.html#isActive()">isActive</a>, <a href="../plugins/PluginSkeleton.html#isEquivalent(org.apache.log4j.plugins.Plugin)">isEquivalent</a>, <a href="../plugins/PluginSkeleton.html#removePropertyChangeListener(java.beans.PropertyChangeListener)">removePropertyChangeListener</a>, <a href="../plugins/PluginSkeleton.html#removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)">removePropertyChangeListener</a>, <a href="../plugins/PluginSkeleton.html#setLoggerRepository(org.apache.log4j.spi.LoggerRepository)">setLoggerRepository</a>, <a href="../plugins/PluginSkeleton.html#setName(java.lang.String)">setName</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.log4j.spi.ComponentBase">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.log4j.spi.<a href="../spi/ComponentBase.html" title="class in org.apache.log4j.spi">ComponentBase</a></h3>
<code><a href="../spi/ComponentBase.html#getLogger()">getLogger</a>, <a href="../spi/ComponentBase.html#getNonFloodingLogger()">getNonFloodingLogger</a>, <a href="../spi/ComponentBase.html#resetErrorCount()">resetErrorCount</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="MISSING_FILE_RETRY_MILLIS">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MISSING_FILE_RETRY_MILLIS</h4>
<pre>public static final&nbsp;int MISSING_FILE_RETRY_MILLIS</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.log4j.varia.LogFilePatternReceiver.MISSING_FILE_RETRY_MILLIS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LogFilePatternReceiver</h4>
<pre>public&nbsp;LogFilePatternReceiver()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getFileURL()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFileURL</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getFileURL()</pre>
<div class="block">Accessor</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>file URL</dd>
</dl>
</li>
</ul>
<a id="setFileURL(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFileURL</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setFileURL&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;fileURL)</pre>
<div class="block">Mutator</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fileURL</code> - </dd>
</dl>
</li>
</ul>
<a id="setCustomLevelDefinitions(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCustomLevelDefinitions</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setCustomLevelDefinitions&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;customLevelDefinitions)</pre>
<div class="block">If the log file contains non-log4j level strings, they can be mapped to log4j levels using the format (android example):
V=TRACE,D=DEBUG,I=INFO,W=WARN,E=ERROR,F=FATAL,S=OFF</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>customLevelDefinitions</code> - the level definition string</dd>
</dl>
</li>
</ul>
<a id="getCustomLevelDefinitions()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCustomLevelDefinitions</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getCustomLevelDefinitions()</pre>
</li>
</ul>
<a id="isAppendNonMatches()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAppendNonMatches</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isAppendNonMatches()</pre>
<div class="block">Accessor</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>append non matches</dd>
</dl>
</li>
</ul>
<a id="setAppendNonMatches(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAppendNonMatches</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setAppendNonMatches&#8203;(boolean&nbsp;appendNonMatches)</pre>
<div class="block">Mutator</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>appendNonMatches</code> - </dd>
</dl>
</li>
</ul>
<a id="getFilterExpression()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFilterExpression</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getFilterExpression()</pre>
<div class="block">Accessor</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>filter expression</dd>
</dl>
</li>
</ul>
<a id="setFilterExpression(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFilterExpression</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setFilterExpression&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;filterExpression)</pre>
<div class="block">Mutator</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filterExpression</code> - </dd>
</dl>
</li>
</ul>
<a id="isTailing()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTailing</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isTailing()</pre>
<div class="block">Accessor</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>tailing</dd>
</dl>
</li>
</ul>
<a id="setTailing(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTailing</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setTailing&#8203;(boolean&nbsp;tailing)</pre>
<div class="block">Mutator</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tailing</code> - </dd>
</dl>
</li>
</ul>
<a id="isUseCurrentThread()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUseCurrentThread</h4>
<pre class="methodSignature">public final&nbsp;boolean&nbsp;isUseCurrentThread()</pre>
<div class="block">When true, this property uses the current Thread to perform the import,
otherwise when false (the default), a new Thread is created and started to manage
the import.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
</dl>
</li>
</ul>
<a id="setUseCurrentThread(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUseCurrentThread</h4>
<pre class="methodSignature">public final&nbsp;void&nbsp;setUseCurrentThread&#8203;(boolean&nbsp;useCurrentThread)</pre>
<div class="block">Sets whether the current Thread or a new Thread is created to perform the import,
the default being false (new Thread created).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>useCurrentThread</code> - </dd>
</dl>
</li>
</ul>
<a id="getLogFormat()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogFormat</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getLogFormat()</pre>
<div class="block">Accessor</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>log format</dd>
</dl>
</li>
</ul>
<a id="setLogFormat(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLogFormat</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setLogFormat&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;logFormat)</pre>
<div class="block">Mutator</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>logFormat</code> - the format</dd>
</dl>
</li>
</ul>
<a id="setGroup(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setGroup</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setGroup&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;group)</pre>
<div class="block">Mutator</div>
</li>
</ul>
<a id="getGroup()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGroup</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getGroup()</pre>
<div class="block">Accessor</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>group</dd>
</dl>
</li>
</ul>
<a id="setTimestampFormat(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTimestampFormat</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setTimestampFormat&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;timestampFormat)</pre>
<div class="block">Mutator. Specify a pattern from <a href="https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text" class="externalLink"><code>SimpleDateFormat</code></a></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timestampFormat</code> - </dd>
</dl>
</li>
</ul>
<a id="getTimestampFormat()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTimestampFormat</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getTimestampFormat()</pre>
<div class="block">Accessor</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>timestamp format</dd>
</dl>
</li>
</ul>
<a id="getWaitMillis()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWaitMillis</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;getWaitMillis()</pre>
<div class="block">Accessor</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>millis between retrieves of content</dd>
</dl>
</li>
</ul>
<a id="setWaitMillis(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWaitMillis</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setWaitMillis&#8203;(long&nbsp;waitMillis)</pre>
<div class="block">Mutator</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>waitMillis</code> - </dd>
</dl>
</li>
</ul>
<a id="process(java.io.BufferedReader)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>process</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;process&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html?is-external=true" title="class or interface in java.io" class="externalLink">BufferedReader</a>&nbsp;bufferedReader)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></pre>
<div class="block">Read, parse and optionally tail the log file, converting entries into logging events.
<p>
A runtimeException is thrown if the logFormat pattern is malformed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bufferedReader</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code></dd>
</dl>
</li>
</ul>
<a id="createPattern()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createPattern</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;createPattern()</pre>
</li>
</ul>
<a id="setHost(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHost</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;setHost&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;host)</pre>
</li>
</ul>
<a id="setPath(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPath</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;setPath&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;path)</pre>
</li>
</ul>
<a id="getPath()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPath</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getPath()</pre>
</li>
</ul>
<a id="initialize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;initialize()</pre>
<div class="block">Build the regular expression needed to parse log entries</div>
</li>
</ul>
<a id="shutdown()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shutdown</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;shutdown()</pre>
<div class="block">Close the reader.</div>
</li>
</ul>
<a id="activateOptions()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>activateOptions</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;activateOptions()</pre>
<div class="block">Read and process the log file.</div>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/LogFilePatternReceiver.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small><p align="center">Copyright &#169; 2002-2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.<br /> Apache Logging, Apache Log4j, Log4j, Apache Chainsaw, Chainsaw, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.</p></small></p>
</footer>
</body>
</html>