<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>RandomAccessFileAppender xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../apidocs/org/apache/logging/log4j/core/appender/RandomAccessFileAppender.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L2" href="#L2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a>   <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a>   <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a>   <em class="jxr_comment"> * The ASF licenses this file to You under the Apache license, Version 2.0</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a>   <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a>   <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a>   <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a>   <em class="jxr_comment"> *      <a href="http://www.apache.org/licenses/LICENSE-2." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a>  <em class="jxr_comment"> * See the license for the specific language governing permissions and</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a>  <em class="jxr_comment"> * limitations under the license.</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a>  <strong class="jxr_keyword">package</strong> org.apache.logging.log4j.core.appender;
<a class="jxr_linenumber" name="L18" href="#L18">18</a>  
<a class="jxr_linenumber" name="L19" href="#L19">19</a>  <strong class="jxr_keyword">import</strong> java.io.Serializable;
<a class="jxr_linenumber" name="L20" href="#L20">20</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a class="jxr_linenumber" name="L21" href="#L21">21</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.TimeUnit;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.Appender;
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.Core;
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.Filter;
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.Layout;
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.LogEvent;
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.config.Configuration;
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.config.Property;
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.config.plugins.Plugin;
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.config.plugins.PluginBuilderAttribute;
<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory;
<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.net.Advertiser;
<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.util.Booleans;
<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.util.Integers;
<a class="jxr_linenumber" name="L37" href="#L37">37</a>  
<a class="jxr_linenumber" name="L38" href="#L38">38</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <em class="jxr_javadoccomment"> * File Appender.</em>
<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L41" href="#L41">41</a>  @Plugin(name = <span class="jxr_string">"RandomAccessFile"</span>, category = Core.CATEGORY_NAME, elementType = Appender.ELEMENT_TYPE, printObject = <strong class="jxr_keyword">true</strong>)
<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/logging/log4j/core/appender/RandomAccessFileAppender.html">RandomAccessFileAppender</a> <strong class="jxr_keyword">extends</strong> AbstractOutputStreamAppender&lt;RandomAccessFileManager&gt; {
<a class="jxr_linenumber" name="L43" href="#L43">43</a>  
<a class="jxr_linenumber" name="L44" href="#L44">44</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L45" href="#L45">45</a>  <em class="jxr_javadoccomment">     * Builds RandomAccessFileAppender instances.</em>
<a class="jxr_linenumber" name="L46" href="#L46">46</a>  <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L47" href="#L47">47</a>  <em class="jxr_javadoccomment">     * @param &lt;B&gt;</em>
<a class="jxr_linenumber" name="L48" href="#L48">48</a>  <em class="jxr_javadoccomment">     *            The type to build</em>
<a class="jxr_linenumber" name="L49" href="#L49">49</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L50" href="#L50">50</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> Builder&lt;B <strong class="jxr_keyword">extends</strong> Builder&lt;B&gt;&gt; <strong class="jxr_keyword">extends</strong> AbstractOutputStreamAppender.Builder&lt;B&gt;
<a class="jxr_linenumber" name="L51" href="#L51">51</a>              <strong class="jxr_keyword">implements</strong> org.apache.logging.log4j.core.util.Builder&lt;RandomAccessFileAppender&gt; {
<a class="jxr_linenumber" name="L52" href="#L52">52</a>  
<a class="jxr_linenumber" name="L53" href="#L53">53</a>          @PluginBuilderAttribute(<span class="jxr_string">"fileName"</span>)
<a class="jxr_linenumber" name="L54" href="#L54">54</a>          <strong class="jxr_keyword">private</strong> String fileName;
<a class="jxr_linenumber" name="L55" href="#L55">55</a>  
<a class="jxr_linenumber" name="L56" href="#L56">56</a>          @PluginBuilderAttribute(<span class="jxr_string">"append"</span>)
<a class="jxr_linenumber" name="L57" href="#L57">57</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> append = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L58" href="#L58">58</a>  
<a class="jxr_linenumber" name="L59" href="#L59">59</a>          @PluginBuilderAttribute(<span class="jxr_string">"advertise"</span>)
<a class="jxr_linenumber" name="L60" href="#L60">60</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> advertise;
<a class="jxr_linenumber" name="L61" href="#L61">61</a>  
<a class="jxr_linenumber" name="L62" href="#L62">62</a>          @PluginBuilderAttribute(<span class="jxr_string">"advertiseURI"</span>)
<a class="jxr_linenumber" name="L63" href="#L63">63</a>          <strong class="jxr_keyword">private</strong> String advertiseURI;
<a class="jxr_linenumber" name="L64" href="#L64">64</a>  
<a class="jxr_linenumber" name="L65" href="#L65">65</a>          @Override
<a class="jxr_linenumber" name="L66" href="#L66">66</a>          <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/logging/log4j/core/appender/RandomAccessFileAppender.html">RandomAccessFileAppender</a> build() {
<a class="jxr_linenumber" name="L67" href="#L67">67</a>              <strong class="jxr_keyword">final</strong> String name = getName();
<a class="jxr_linenumber" name="L68" href="#L68">68</a>              <strong class="jxr_keyword">if</strong> (name == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L69" href="#L69">69</a>                  LOGGER.error(<span class="jxr_string">"No name provided for FileAppender"</span>);
<a class="jxr_linenumber" name="L70" href="#L70">70</a>                  <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L71" href="#L71">71</a>              }
<a class="jxr_linenumber" name="L72" href="#L72">72</a>  
<a class="jxr_linenumber" name="L73" href="#L73">73</a>              <strong class="jxr_keyword">if</strong> (fileName == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L74" href="#L74">74</a>                  LOGGER.error(<span class="jxr_string">"No filename provided for FileAppender with name "</span> + name);
<a class="jxr_linenumber" name="L75" href="#L75">75</a>                  <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L76" href="#L76">76</a>              }
<a class="jxr_linenumber" name="L77" href="#L77">77</a>              <strong class="jxr_keyword">final</strong> Layout&lt;? <strong class="jxr_keyword">extends</strong> Serializable&gt; layout = getOrCreateLayout();
<a class="jxr_linenumber" name="L78" href="#L78">78</a>              <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> immediateFlush = isImmediateFlush();
<a class="jxr_linenumber" name="L79" href="#L79">79</a>              <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/logging/log4j/core/appender/RandomAccessFileManager.html">RandomAccessFileManager</a> manager = RandomAccessFileManager.getFileManager(fileName, append,
<a class="jxr_linenumber" name="L80" href="#L80">80</a>                      immediateFlush, getBufferSize(), advertiseURI, layout, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="L81" href="#L81">81</a>              <strong class="jxr_keyword">if</strong> (manager == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L82" href="#L82">82</a>                  <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L83" href="#L83">83</a>              }
<a class="jxr_linenumber" name="L84" href="#L84">84</a>  
<a class="jxr_linenumber" name="L85" href="#L85">85</a>              <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/logging/log4j/core/appender/RandomAccessFileAppender.html">RandomAccessFileAppender</a>(name, layout, getFilter(), manager, fileName, isIgnoreExceptions(),
<a class="jxr_linenumber" name="L86" href="#L86">86</a>                      immediateFlush, advertise ? getConfiguration().getAdvertiser() : <strong class="jxr_keyword">null</strong>, getPropertyArray());
<a class="jxr_linenumber" name="L87" href="#L87">87</a>          }
<a class="jxr_linenumber" name="L88" href="#L88">88</a>  
<a class="jxr_linenumber" name="L89" href="#L89">89</a>          <strong class="jxr_keyword">public</strong> B setFileName(<strong class="jxr_keyword">final</strong> String fileName) {
<a class="jxr_linenumber" name="L90" href="#L90">90</a>              <strong class="jxr_keyword">this</strong>.fileName = fileName;
<a class="jxr_linenumber" name="L91" href="#L91">91</a>              <strong class="jxr_keyword">return</strong> asBuilder();
<a class="jxr_linenumber" name="L92" href="#L92">92</a>          }
<a class="jxr_linenumber" name="L93" href="#L93">93</a>  
<a class="jxr_linenumber" name="L94" href="#L94">94</a>          <strong class="jxr_keyword">public</strong> B setAppend(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> append) {
<a class="jxr_linenumber" name="L95" href="#L95">95</a>              <strong class="jxr_keyword">this</strong>.append = append;
<a class="jxr_linenumber" name="L96" href="#L96">96</a>              <strong class="jxr_keyword">return</strong> asBuilder();
<a class="jxr_linenumber" name="L97" href="#L97">97</a>          }
<a class="jxr_linenumber" name="L98" href="#L98">98</a>  
<a class="jxr_linenumber" name="L99" href="#L99">99</a>          <strong class="jxr_keyword">public</strong> B setAdvertise(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> advertise) {
<a class="jxr_linenumber" name="L100" href="#L100">100</a>             <strong class="jxr_keyword">this</strong>.advertise = advertise;
<a class="jxr_linenumber" name="L101" href="#L101">101</a>             <strong class="jxr_keyword">return</strong> asBuilder();
<a class="jxr_linenumber" name="L102" href="#L102">102</a>         }
<a class="jxr_linenumber" name="L103" href="#L103">103</a> 
<a class="jxr_linenumber" name="L104" href="#L104">104</a>         <strong class="jxr_keyword">public</strong> B setAdvertiseURI(<strong class="jxr_keyword">final</strong> String advertiseURI) {
<a class="jxr_linenumber" name="L105" href="#L105">105</a>             <strong class="jxr_keyword">this</strong>.advertiseURI = advertiseURI;
<a class="jxr_linenumber" name="L106" href="#L106">106</a>             <strong class="jxr_keyword">return</strong> asBuilder();
<a class="jxr_linenumber" name="L107" href="#L107">107</a>         }
<a class="jxr_linenumber" name="L108" href="#L108">108</a> 
<a class="jxr_linenumber" name="L109" href="#L109">109</a>     }
<a class="jxr_linenumber" name="L110" href="#L110">110</a> 
<a class="jxr_linenumber" name="L111" href="#L111">111</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String fileName;
<a class="jxr_linenumber" name="L112" href="#L112">112</a>     <strong class="jxr_keyword">private</strong> Object advertisement;
<a class="jxr_linenumber" name="L113" href="#L113">113</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/logging/log4j/core/net/Advertiser.html">Advertiser</a> advertiser;
<a class="jxr_linenumber" name="L114" href="#L114">114</a> 
<a class="jxr_linenumber" name="L115" href="#L115">115</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/logging/log4j/core/appender/RandomAccessFileAppender.html">RandomAccessFileAppender</a>(<strong class="jxr_keyword">final</strong> String name, <strong class="jxr_keyword">final</strong> Layout&lt;? <strong class="jxr_keyword">extends</strong> Serializable&gt; layout,
<a class="jxr_linenumber" name="L116" href="#L116">116</a>             <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/logging/log4j/core/Filter.html">Filter</a> filter, <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/logging/log4j/core/appender/RandomAccessFileManager.html">RandomAccessFileManager</a> manager, <strong class="jxr_keyword">final</strong> String filename,
<a class="jxr_linenumber" name="L117" href="#L117">117</a>             <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> ignoreExceptions, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> immediateFlush, <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/logging/log4j/core/net/Advertiser.html">Advertiser</a> advertiser,
<a class="jxr_linenumber" name="L118" href="#L118">118</a>             <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/logging/log4j/core/config/Property.html">Property</a>[] properties) {
<a class="jxr_linenumber" name="L119" href="#L119">119</a> 
<a class="jxr_linenumber" name="L120" href="#L120">120</a>         <strong class="jxr_keyword">super</strong>(name, layout, filter, ignoreExceptions, immediateFlush, properties, manager);
<a class="jxr_linenumber" name="L121" href="#L121">121</a>         <strong class="jxr_keyword">if</strong> (advertiser != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L122" href="#L122">122</a>             <strong class="jxr_keyword">final</strong> Map&lt;String, String&gt; configuration = <strong class="jxr_keyword">new</strong> HashMap&lt;&gt;(
<a class="jxr_linenumber" name="L123" href="#L123">123</a>                     layout.getContentFormat());
<a class="jxr_linenumber" name="L124" href="#L124">124</a>             configuration.putAll(manager.getContentFormat());
<a class="jxr_linenumber" name="L125" href="#L125">125</a>             configuration.put(<span class="jxr_string">"contentType"</span>, layout.getContentType());
<a class="jxr_linenumber" name="L126" href="#L126">126</a>             configuration.put(<span class="jxr_string">"name"</span>, name);
<a class="jxr_linenumber" name="L127" href="#L127">127</a>             advertisement = advertiser.advertise(configuration);
<a class="jxr_linenumber" name="L128" href="#L128">128</a>         }
<a class="jxr_linenumber" name="L129" href="#L129">129</a>         <strong class="jxr_keyword">this</strong>.fileName = filename;
<a class="jxr_linenumber" name="L130" href="#L130">130</a>         <strong class="jxr_keyword">this</strong>.advertiser = advertiser;
<a class="jxr_linenumber" name="L131" href="#L131">131</a>     }
<a class="jxr_linenumber" name="L132" href="#L132">132</a> 
<a class="jxr_linenumber" name="L133" href="#L133">133</a>     @Override
<a class="jxr_linenumber" name="L134" href="#L134">134</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> stop(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> timeout, <strong class="jxr_keyword">final</strong> TimeUnit timeUnit) {
<a class="jxr_linenumber" name="L135" href="#L135">135</a>         setStopping();
<a class="jxr_linenumber" name="L136" href="#L136">136</a>         <strong class="jxr_keyword">super</strong>.stop(timeout, timeUnit, false);
<a class="jxr_linenumber" name="L137" href="#L137">137</a>         <strong class="jxr_keyword">if</strong> (advertiser != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L138" href="#L138">138</a>             advertiser.unadvertise(advertisement);
<a class="jxr_linenumber" name="L139" href="#L139">139</a>         }
<a class="jxr_linenumber" name="L140" href="#L140">140</a>         setStopped();
<a class="jxr_linenumber" name="L141" href="#L141">141</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L142" href="#L142">142</a>     }
<a class="jxr_linenumber" name="L143" href="#L143">143</a> 
<a class="jxr_linenumber" name="L144" href="#L144">144</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L145" href="#L145">145</a> <em class="jxr_javadoccomment">     * Write the log entry rolling over the file when required.</em>
<a class="jxr_linenumber" name="L146" href="#L146">146</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L147" href="#L147">147</a> <em class="jxr_javadoccomment">     * @param event The LogEvent.</em>
<a class="jxr_linenumber" name="L148" href="#L148">148</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L149" href="#L149">149</a>     @Override
<a class="jxr_linenumber" name="L150" href="#L150">150</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> append(<strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/logging/log4j/core/LogEvent.html">LogEvent</a> event) {
<a class="jxr_linenumber" name="L151" href="#L151">151</a> 
<a class="jxr_linenumber" name="L152" href="#L152">152</a>         <em class="jxr_comment">// Leverage the nice batching behaviour of async Loggers/Appenders:</em>
<a class="jxr_linenumber" name="L153" href="#L153">153</a>         <em class="jxr_comment">// we can signal the file manager that it needs to flush the buffer</em>
<a class="jxr_linenumber" name="L154" href="#L154">154</a>         <em class="jxr_comment">// to disk at the end of a batch.</em>
<a class="jxr_linenumber" name="L155" href="#L155">155</a>         <em class="jxr_comment">// From a user's point of view, this means that all log events are</em>
<a class="jxr_linenumber" name="L156" href="#L156">156</a>         <em class="jxr_comment">// _always_ available in the log file, without incurring the overhead</em>
<a class="jxr_linenumber" name="L157" href="#L157">157</a>         <em class="jxr_comment">// of immediateFlush=true.</em>
<a class="jxr_linenumber" name="L158" href="#L158">158</a>         getManager().setEndOfBatch(event.isEndOfBatch()); <em class="jxr_comment">// FIXME manager's EndOfBatch threadlocal can be deleted</em>
<a class="jxr_linenumber" name="L159" href="#L159">159</a> 
<a class="jxr_linenumber" name="L160" href="#L160">160</a>         <em class="jxr_comment">// LOG4J2-1292 utilize gc-free Layout.encode() method: taken care of in superclass</em>
<a class="jxr_linenumber" name="L161" href="#L161">161</a>         <strong class="jxr_keyword">super</strong>.append(event);
<a class="jxr_linenumber" name="L162" href="#L162">162</a>     }
<a class="jxr_linenumber" name="L163" href="#L163">163</a> 
<a class="jxr_linenumber" name="L164" href="#L164">164</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L165" href="#L165">165</a> <em class="jxr_javadoccomment">     * Returns the file name this appender is associated with.</em>
<a class="jxr_linenumber" name="L166" href="#L166">166</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L167" href="#L167">167</a> <em class="jxr_javadoccomment">     * @return The File name.</em>
<a class="jxr_linenumber" name="L168" href="#L168">168</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L169" href="#L169">169</a>     <strong class="jxr_keyword">public</strong> String getFileName() {
<a class="jxr_linenumber" name="L170" href="#L170">170</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.fileName;
<a class="jxr_linenumber" name="L171" href="#L171">171</a>     }
<a class="jxr_linenumber" name="L172" href="#L172">172</a> 
<a class="jxr_linenumber" name="L173" href="#L173">173</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L174" href="#L174">174</a> <em class="jxr_javadoccomment">     * Returns the size of the file manager's buffer.</em>
<a class="jxr_linenumber" name="L175" href="#L175">175</a> <em class="jxr_javadoccomment">     * @return the buffer size</em>
<a class="jxr_linenumber" name="L176" href="#L176">176</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L177" href="#L177">177</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getBufferSize() {
<a class="jxr_linenumber" name="L178" href="#L178">178</a>         <strong class="jxr_keyword">return</strong> getManager().getBufferSize();
<a class="jxr_linenumber" name="L179" href="#L179">179</a>     }
<a class="jxr_linenumber" name="L180" href="#L180">180</a> 
<a class="jxr_linenumber" name="L181" href="#L181">181</a>     <em class="jxr_comment">// difference from standard File Appender:</em>
<a class="jxr_linenumber" name="L182" href="#L182">182</a>     <em class="jxr_comment">// locking is not supported and buffering cannot be switched off</em>
<a class="jxr_linenumber" name="L183" href="#L183">183</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L184" href="#L184">184</a> <em class="jxr_javadoccomment">     * Create a File Appender.</em>
<a class="jxr_linenumber" name="L185" href="#L185">185</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L186" href="#L186">186</a> <em class="jxr_javadoccomment">     * @param fileName The name and path of the file.</em>
<a class="jxr_linenumber" name="L187" href="#L187">187</a> <em class="jxr_javadoccomment">     * @param append "True" if the file should be appended to, "false" if it</em>
<a class="jxr_linenumber" name="L188" href="#L188">188</a> <em class="jxr_javadoccomment">     *            should be overwritten. The default is "true".</em>
<a class="jxr_linenumber" name="L189" href="#L189">189</a> <em class="jxr_javadoccomment">     * @param name The name of the Appender.</em>
<a class="jxr_linenumber" name="L190" href="#L190">190</a> <em class="jxr_javadoccomment">     * @param immediateFlush "true" if the contents should be flushed on every</em>
<a class="jxr_linenumber" name="L191" href="#L191">191</a> <em class="jxr_javadoccomment">     *            write, "false" otherwise. The default is "true".</em>
<a class="jxr_linenumber" name="L192" href="#L192">192</a> <em class="jxr_javadoccomment">     * @param bufferSizeStr The buffer size, defaults to {@value RandomAccessFileManager#DEFAULT_BUFFER_SIZE}.</em>
<a class="jxr_linenumber" name="L193" href="#L193">193</a> <em class="jxr_javadoccomment">     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise</em>
<a class="jxr_linenumber" name="L194" href="#L194">194</a> <em class="jxr_javadoccomment">     *               they are propagated to the caller.</em>
<a class="jxr_linenumber" name="L195" href="#L195">195</a> <em class="jxr_javadoccomment">     * @param layout The layout to use to format the event. If no layout is</em>
<a class="jxr_linenumber" name="L196" href="#L196">196</a> <em class="jxr_javadoccomment">     *            provided the default PatternLayout will be used.</em>
<a class="jxr_linenumber" name="L197" href="#L197">197</a> <em class="jxr_javadoccomment">     * @param filter The filter, if any, to use.</em>
<a class="jxr_linenumber" name="L198" href="#L198">198</a> <em class="jxr_javadoccomment">     * @param advertise "true" if the appender configuration should be</em>
<a class="jxr_linenumber" name="L199" href="#L199">199</a> <em class="jxr_javadoccomment">     *            advertised, "false" otherwise.</em>
<a class="jxr_linenumber" name="L200" href="#L200">200</a> <em class="jxr_javadoccomment">     * @param advertiseURI The advertised URI which can be used to retrieve the</em>
<a class="jxr_linenumber" name="L201" href="#L201">201</a> <em class="jxr_javadoccomment">     *            file contents.</em>
<a class="jxr_linenumber" name="L202" href="#L202">202</a> <em class="jxr_javadoccomment">     * @param configuration The Configuration.</em>
<a class="jxr_linenumber" name="L203" href="#L203">203</a> <em class="jxr_javadoccomment">     * @return The FileAppender.</em>
<a class="jxr_linenumber" name="L204" href="#L204">204</a> <em class="jxr_javadoccomment">     * @deprecated Use {@link #newBuilder()}.</em>
<a class="jxr_linenumber" name="L205" href="#L205">205</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L206" href="#L206">206</a>     @Deprecated
<a class="jxr_linenumber" name="L207" href="#L207">207</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> &lt;B <strong class="jxr_keyword">extends</strong> Builder&lt;B&gt;&gt; <a href="../../../../../../org/apache/logging/log4j/core/appender/RandomAccessFileAppender.html">RandomAccessFileAppender</a> createAppender(
<a class="jxr_linenumber" name="L208" href="#L208">208</a>             <strong class="jxr_keyword">final</strong> String fileName,
<a class="jxr_linenumber" name="L209" href="#L209">209</a>             <strong class="jxr_keyword">final</strong> String append,
<a class="jxr_linenumber" name="L210" href="#L210">210</a>             <strong class="jxr_keyword">final</strong> String name,
<a class="jxr_linenumber" name="L211" href="#L211">211</a>             <strong class="jxr_keyword">final</strong> String immediateFlush,
<a class="jxr_linenumber" name="L212" href="#L212">212</a>             <strong class="jxr_keyword">final</strong> String bufferSizeStr,
<a class="jxr_linenumber" name="L213" href="#L213">213</a>             <strong class="jxr_keyword">final</strong> String ignore,
<a class="jxr_linenumber" name="L214" href="#L214">214</a>             <strong class="jxr_keyword">final</strong> Layout&lt;? <strong class="jxr_keyword">extends</strong> Serializable&gt; layout,
<a class="jxr_linenumber" name="L215" href="#L215">215</a>             <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/logging/log4j/core/Filter.html">Filter</a> filter,
<a class="jxr_linenumber" name="L216" href="#L216">216</a>             <strong class="jxr_keyword">final</strong> String advertise,
<a class="jxr_linenumber" name="L217" href="#L217">217</a>             <strong class="jxr_keyword">final</strong> String advertiseURI,
<a class="jxr_linenumber" name="L218" href="#L218">218</a>             <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/logging/log4j/core/config/Configuration.html">Configuration</a> configuration) {
<a class="jxr_linenumber" name="L219" href="#L219">219</a> 
<a class="jxr_linenumber" name="L220" href="#L220">220</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isAppend = Booleans.parseBoolean(append, <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L221" href="#L221">221</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isFlush = Booleans.parseBoolean(immediateFlush, <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L222" href="#L222">222</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> ignoreExceptions = Booleans.parseBoolean(ignore, <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L223" href="#L223">223</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isAdvertise = Boolean.parseBoolean(advertise);
<a class="jxr_linenumber" name="L224" href="#L224">224</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> bufferSize = Integers.parseInt(bufferSizeStr, RandomAccessFileManager.DEFAULT_BUFFER_SIZE);
<a class="jxr_linenumber" name="L225" href="#L225">225</a> 
<a class="jxr_linenumber" name="L226" href="#L226">226</a>         <strong class="jxr_keyword">return</strong> RandomAccessFileAppender.&lt;B&gt;newBuilder()
<a class="jxr_linenumber" name="L227" href="#L227">227</a>         .setAdvertise(isAdvertise)
<a class="jxr_linenumber" name="L228" href="#L228">228</a>         .setAdvertiseURI(advertiseURI)
<a class="jxr_linenumber" name="L229" href="#L229">229</a>         .setAppend(isAppend)
<a class="jxr_linenumber" name="L230" href="#L230">230</a>         .withBufferSize(bufferSize)
<a class="jxr_linenumber" name="L231" href="#L231">231</a>         .setConfiguration(configuration)
<a class="jxr_linenumber" name="L232" href="#L232">232</a>         .setFileName(fileName).setFilter(filter).setIgnoreExceptions(ignoreExceptions)
<a class="jxr_linenumber" name="L233" href="#L233">233</a>             .withImmediateFlush(isFlush).setLayout(layout).setName(name)
<a class="jxr_linenumber" name="L234" href="#L234">234</a>             .build();
<a class="jxr_linenumber" name="L235" href="#L235">235</a>     }
<a class="jxr_linenumber" name="L236" href="#L236">236</a> 
<a class="jxr_linenumber" name="L237" href="#L237">237</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L238" href="#L238">238</a> <em class="jxr_javadoccomment">     * Creates a builder for a RandomAccessFileAppender.</em>
<a class="jxr_linenumber" name="L239" href="#L239">239</a> <em class="jxr_javadoccomment">     * @return a builder for a RandomAccessFileAppender.</em>
<a class="jxr_linenumber" name="L240" href="#L240">240</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L241" href="#L241">241</a>     @PluginBuilderFactory
<a class="jxr_linenumber" name="L242" href="#L242">242</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> &lt;B <strong class="jxr_keyword">extends</strong> Builder&lt;B&gt;&gt; B newBuilder() {
<a class="jxr_linenumber" name="L243" href="#L243">243</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Builder&lt;B&gt;().asBuilder();
<a class="jxr_linenumber" name="L244" href="#L244">244</a>     }
<a class="jxr_linenumber" name="L245" href="#L245">245</a> 
<a class="jxr_linenumber" name="L246" href="#L246">246</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 1999&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
</body>
</html>
