blob: a265ec45256748d128b106caa32e8c15cb35eca5 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_144) on Sat Apr 25 12:14:08 MST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>WriterAppender (Apache Log4j 1.x Compatibility API 2.13.2 API)</title>
<meta name="date" content="2020-04-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="WriterAppender (Apache Log4j 1.x Compatibility API 2.13.2 API)";
}
}
catch(err) {
}
//-->
var methods = {"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};
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";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/WriterAppender.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">
<li><a href="../../../org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/log4j/WriterAppender.html" target="_top">Frames</a></li>
<li><a href="WriterAppender.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.apache.log4j.AppenderSkeleton">Nested</a>&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 name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.log4j</div>
<h2 title="Class WriterAppender" class="title">Class WriterAppender</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">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</a></li>
<li>
<ul class="inheritance">
<li>org.apache.log4j.WriterAppender</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</a>, <a href="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</a></dd>
</dl>
<hr>
<br>
<pre>public class <a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.36">WriterAppender</a>
extends <a href="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</a></pre>
<div class="block">WriterAppender appends log events to a <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> or an
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><code>OutputStream</code></a> depending on the user's choice.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.log4j.AppenderSkeleton">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.log4j.<a href="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</a></h3>
<code><a href="../../../org/apache/log4j/AppenderSkeleton.NoOpErrorHandler.html" title="class in org.apache.log4j">AppenderSkeleton.NoOpErrorHandler</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#encoding">encoding</a></span></code>
<div class="block">The encoding to use when writing.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#immediateFlush">immediateFlush</a></span></code>
<div class="block">Immediate flush means that the underlying writer or output stream
will be flushed at the end of each append operation unless shouldFlush()
is overridden.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#qw">qw</a></span></code>
<div class="block">This is the <a href="../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><code>quietWriter</code></a> where we will write
to.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.log4j.AppenderSkeleton">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.log4j.<a href="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</a></h3>
<code><a href="../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#name">name</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#WriterAppender--">WriterAppender</a></span>()</code>
<div class="block">This default constructor does nothing.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#WriterAppender-org.apache.log4j.Layout-java.io.OutputStream-">WriterAppender</a></span>(<a href="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</a>&nbsp;layout,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;os)</code>
<div class="block">Instantiate a WriterAppender and set the output destination to a
new <a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStreamWriter.html?is-external=true" title="class or interface in java.io"><code>OutputStreamWriter</code></a> initialized with <code>os</code>
as its <a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><code>OutputStream</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#WriterAppender-org.apache.log4j.Layout-java.io.Writer-">WriterAppender</a></span>(<a href="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</a>&nbsp;layout,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer)</code>
<div class="block">Instantiate a WriterAppender and set the output destination to
<code>writer</code>.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<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="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#activateOptions--">activateOptions</a></span>()</code>
<div class="block">Does nothing.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#append-org.apache.log4j.spi.LoggingEvent-">append</a></span>(<a href="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</a>&nbsp;event)</code>
<div class="block">This method is called by the <a href="../../../org/apache/log4j/AppenderSkeleton.html#doAppend-org.apache.log4j.spi.LoggingEvent-"><code>AppenderSkeleton.doAppend(org.apache.log4j.spi.LoggingEvent)</code></a>
method.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#checkEntryConditions--">checkEntryConditions</a></span>()</code>
<div class="block">This method determines if there is a sense in attempting to append.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#close--">close</a></span>()</code>
<div class="block">Close this appender instance.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#closeWriter--">closeWriter</a></span>()</code>
<div class="block">Close the underlying <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a>.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStreamWriter.html?is-external=true" title="class or interface in java.io">OutputStreamWriter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#createWriter-java.io.OutputStream-">createWriter</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;os)</code>
<div class="block">Returns an OutputStreamWriter when passed an OutputStream.</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">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#getEncoding--">getEncoding</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#getImmediateFlush--">getImmediateFlush</a></span>()</code>
<div class="block">Returns value of the <b>ImmediateFlush</b> option.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#requiresLayout--">requiresLayout</a></span>()</code>
<div class="block">The WriterAppender requires a layout.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#reset--">reset</a></span>()</code>
<div class="block">Clear internal references to the writer and other variables.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#setEncoding-java.lang.String-">setEncoding</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#setErrorHandler-org.apache.log4j.spi.ErrorHandler-">setErrorHandler</a></span>(<a href="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</a>&nbsp;eh)</code>
<div class="block">Set the <a href="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><code>ErrorHandler</code></a> for this WriterAppender and also the
underlying <a href="../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><code>QuietWriter</code></a> if any.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#setImmediateFlush-boolean-">setImmediateFlush</a></span>(boolean&nbsp;value)</code>
<div class="block">If the <b>ImmediateFlush</b> option is set to
<code>true</code>, the appender will flush at the end of each
write.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#setWriter-java.io.Writer-">setWriter</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer)</code>
<div class="block">Sets the Writer where the log output will go.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#shouldFlush-org.apache.log4j.spi.LoggingEvent-">shouldFlush</a></span>(<a href="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</a>&nbsp;event)</code>
<div class="block">Determines whether the writer should be flushed after
this event is written.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#subAppend-org.apache.log4j.spi.LoggingEvent-">subAppend</a></span>(<a href="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</a>&nbsp;event)</code>
<div class="block">Actual writing occurs here.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#writeFooter--">writeFooter</a></span>()</code>
<div class="block">Write a footer as produced by the embedded layout's <a href="../../../org/apache/log4j/Layout.html#getFooter--"><code>Layout.getFooter()</code></a> method.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/log4j/WriterAppender.html#writeHeader--">writeHeader</a></span>()</code>
<div class="block">Write a header as produced by the embedded layout's <a href="../../../org/apache/log4j/Layout.html#getHeader--"><code>Layout.getHeader()</code></a> method.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.log4j.AppenderSkeleton">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.log4j.<a href="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</a></h3>
<code><a href="../../../org/apache/log4j/AppenderSkeleton.html#addFilter-org.apache.log4j.spi.Filter-">addFilter</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#clearFilters--">clearFilters</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#doAppend-org.apache.log4j.spi.LoggingEvent-">doAppend</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#finalize--">finalize</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler--">getErrorHandler</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#getFilter--">getFilter</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter--">getFirstFilter</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#getLayout--">getLayout</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#getName--">getName</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#getThreshold--">getThreshold</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold-org.apache.log4j.Priority-">isAsSevereAsThreshold</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#setLayout-org.apache.log4j.Layout-">setLayout</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#setName-java.lang.String-">setName</a>, <a href="../../../org/apache/log4j/AppenderSkeleton.html#setThreshold-org.apache.log4j.Priority-">setThreshold</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="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">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">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">equals</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">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">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">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">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">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">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">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">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="immediateFlush">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>immediateFlush</h4>
<pre>protected&nbsp;boolean <a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.52">immediateFlush</a></pre>
<div class="block">Immediate flush means that the underlying writer or output stream
will be flushed at the end of each append operation unless shouldFlush()
is overridden. Immediate
flush is slower but ensures that each append request is actually
written. If <code>immediateFlush</code> is set to
<code>false</code>, then there is a good chance that the last few
logs events are not actually written to persistent media if and
when the application crashes.
<p>The <code>immediateFlush</code> variable is set to
<code>true</code> by default.</div>
</li>
</ul>
<a name="encoding">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encoding</h4>
<pre>protected&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">String</a> <a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.60">encoding</a></pre>
<div class="block">The encoding to use when writing. <p>The
<code>encoding</code> variable is set to <code>null</null> by
default which results in the utilization of the system's default
encoding.</div>
</li>
</ul>
<a name="qw">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>qw</h4>
<pre>protected&nbsp;<a href="../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</a> <a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.66">qw</a></pre>
<div class="block">This is the <a href="../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><code>quietWriter</code></a> where we will write
to.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="WriterAppender--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WriterAppender</h4>
<pre>public&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.72">WriterAppender</a>()</pre>
<div class="block">This default constructor does nothing.</div>
</li>
</ul>
<a name="WriterAppender-org.apache.log4j.Layout-java.io.OutputStream-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WriterAppender</h4>
<pre>public&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.80">WriterAppender</a>(<a href="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</a>&nbsp;layout,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;os)</pre>
<div class="block">Instantiate a WriterAppender and set the output destination to a
new <a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStreamWriter.html?is-external=true" title="class or interface in java.io"><code>OutputStreamWriter</code></a> initialized with <code>os</code>
as its <a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><code>OutputStream</code></a>.</div>
</li>
</ul>
<a name="WriterAppender-org.apache.log4j.Layout-java.io.Writer-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>WriterAppender</h4>
<pre>public&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.91">WriterAppender</a>(<a href="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</a>&nbsp;layout,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer)</pre>
<div class="block">Instantiate a WriterAppender and set the output destination to
<code>writer</code>.
<p>The <code>writer</code> must have been previously opened by
the user.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getImmediateFlush--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getImmediateFlush</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.100">getImmediateFlush</a>()</pre>
<div class="block">Returns value of the <b>ImmediateFlush</b> option.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the immediate flush setting.</dd>
</dl>
</li>
</ul>
<a name="setImmediateFlush-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setImmediateFlush</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.120">setImmediateFlush</a>(boolean&nbsp;value)</pre>
<div class="block">If the <b>ImmediateFlush</b> option is set to
<code>true</code>, the appender will flush at the end of each
write. This is the default behavior. If the option is set to
<code>false</code>, then the underlying stream can defer writing
to physical medium to a later time.
<p>Avoiding the flush operation at the end of each append results in
a performance gain of 10 to 20 percent. However, there is safety
tradeoff involved in skipping flushing. Indeed, when flushing is
skipped, then it is likely that the last few log events will not
be recorded on disk when the application exits. This is a high
price to pay even for a 20% performance gain.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the value to set the immediate flush setting to.</dd>
</dl>
</li>
</ul>
<a name="activateOptions--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>activateOptions</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.127">activateOptions</a>()</pre>
<div class="block">Does nothing.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/log4j/spi/OptionHandler.html#activateOptions--">activateOptions</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../org/apache/log4j/AppenderSkeleton.html#activateOptions--">activateOptions</a></code>&nbsp;in class&nbsp;<code><a href="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</a></code></dd>
</dl>
</li>
</ul>
<a name="append-org.apache.log4j.spi.LoggingEvent-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>append</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.142">append</a>(<a href="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</a>&nbsp;event)</pre>
<div class="block">This method is called by the <a href="../../../org/apache/log4j/AppenderSkeleton.html#doAppend-org.apache.log4j.spi.LoggingEvent-"><code>AppenderSkeleton.doAppend(org.apache.log4j.spi.LoggingEvent)</code></a>
method.
<p>If the output stream exists and is writable then write a log
statement to the output stream. Otherwise, write a single warning
message to <code>System.err</code>.
<p>The format of the output will depend on this appender's
layout.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/log4j/AppenderSkeleton.html#append-org.apache.log4j.spi.LoggingEvent-">append</a></code>&nbsp;in class&nbsp;<code><a href="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</a></code></dd>
</dl>
</li>
</ul>
<a name="checkEntryConditions--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkEntryConditions</h4>
<pre>protected&nbsp;boolean&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.167">checkEntryConditions</a>()</pre>
<div class="block">This method determines if there is a sense in attempting to append.
<p>It checks whether there is a set output target and also if
there is a set layout. If these checks fail, then the boolean
value <code>false</code> is returned.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if appending is allowed, false otherwise.</dd>
</dl>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.196">close</a>()</pre>
<div class="block">Close this appender instance. The underlying stream or writer is
also closed.
<p>Closed appenders cannot be reused.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.8.4</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/log4j/WriterAppender.html#setWriter-java.io.Writer-"><code>setWriter(java.io.Writer)</code></a></dd>
</dl>
</li>
</ul>
<a name="closeWriter--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>closeWriter</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.208">closeWriter</a>()</pre>
<div class="block">Close the underlying <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a>.</div>
</li>
</ul>
<a name="createWriter-java.io.OutputStream-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createWriter</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStreamWriter.html?is-external=true" title="class or interface in java.io">OutputStreamWriter</a>&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.232">createWriter</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;os)</pre>
<div class="block">Returns an OutputStreamWriter when passed an OutputStream. The
encoding used will depend on the value of the
<code>encoding</code> property. If the encoding value is
specified incorrectly the writer will be opened using the default
system encoding (an error message will be printed to the LOGGER.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>os</code> - The OutputStream.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The OutputStreamWriter.</dd>
</dl>
</li>
</ul>
<a name="getEncoding--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEncoding</h4>
<pre>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">String</a>&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.253">getEncoding</a>()</pre>
</li>
</ul>
<a name="setEncoding-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEncoding</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.257">setEncoding</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
</li>
</ul>
<a name="setErrorHandler-org.apache.log4j.spi.ErrorHandler-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setErrorHandler</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.266">setErrorHandler</a>(<a href="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</a>&nbsp;eh)</pre>
<div class="block">Set the <a href="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><code>ErrorHandler</code></a> for this WriterAppender and also the
underlying <a href="../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><code>QuietWriter</code></a> if any.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/log4j/Appender.html#setErrorHandler-org.apache.log4j.spi.ErrorHandler-">setErrorHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler-org.apache.log4j.spi.ErrorHandler-">setErrorHandler</a></code>&nbsp;in class&nbsp;<code><a href="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eh</code> - The error handler.</dd>
</dl>
</li>
</ul>
<a name="setWriter-java.io.Writer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWriter</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.291">setWriter</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer)</pre>
<div class="block"><p>Sets the Writer where the log output will go. The
specified Writer must be opened by the user and be
writable.
<p>The <code>java.io.Writer</code> will be closed when the
appender instance is closed.
<p><b>WARNING:</b> Logging to an unopened Writer will fail.
<p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>writer</code> - An already opened Writer.</dd>
</dl>
</li>
</ul>
<a name="subAppend-org.apache.log4j.spi.LoggingEvent-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>subAppend</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.308">subAppend</a>(<a href="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</a>&nbsp;event)</pre>
<div class="block">Actual writing occurs here.
<p>Most subclasses of <code>WriterAppender</code> will need to
override this method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>event</code> - The event to log.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.9.0</dd>
</dl>
</li>
</ul>
<a name="requiresLayout--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requiresLayout</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.332">requiresLayout</a>()</pre>
<div class="block">The WriterAppender requires a layout. Hence, this method returns
<code>true</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if a Layout is required.</dd>
</dl>
</li>
</ul>
<a name="reset--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.342">reset</a>()</pre>
<div class="block">Clear internal references to the writer and other variables.
<p>
Subclasses can override this method for an alternate closing
behavior.</div>
</li>
</ul>
<a name="writeFooter--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeFooter</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.353">writeFooter</a>()</pre>
<div class="block">Write a footer as produced by the embedded layout's <a href="../../../org/apache/log4j/Layout.html#getFooter--"><code>Layout.getFooter()</code></a> method.</div>
</li>
</ul>
<a name="writeHeader--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeHeader</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.367">writeHeader</a>()</pre>
<div class="block">Write a header as produced by the embedded layout's <a href="../../../org/apache/log4j/Layout.html#getHeader--"><code>Layout.getHeader()</code></a> method.</div>
</li>
</ul>
<a name="shouldFlush-org.apache.log4j.spi.LoggingEvent-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>shouldFlush</h4>
<pre>protected&nbsp;boolean&nbsp;<a href="../../../src-html/org/apache/log4j/WriterAppender.html#line.384">shouldFlush</a>(<a href="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</a>&nbsp;event)</pre>
<div class="block">Determines whether the writer should be flushed after
this event is written.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>event</code> - The event to log.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the writer should be flushed.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.2.16</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/WriterAppender.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">
<li><a href="../../../org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/log4j/WriterAppender.html" target="_top">Frames</a></li>
<li><a href="WriterAppender.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.apache.log4j.AppenderSkeleton">Nested</a>&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 name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><p align="center">Copyright &#169; 1999-2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.<br /> Apache Logging, Apache Log4j, Log4j, 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>
</body>
</html>