Gary Gregory created LOG4J2-1162:
------------------------------------

             Summary: Memory-mapped file appender creates null-padded files.
                 Key: LOG4J2-1162
                 URL: https://issues.apache.org/jira/browse/LOG4J2-1162
             Project: Log4j 2
          Issue Type: Bug
          Components: Appenders
    Affects Versions: 2.4.1
         Environment: Apache Maven 3.3.3 
(7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T04:57:37-07:00)
Maven home: C:\Java\apache-maven-3.3.3\bin\..
Java version: 1.7.0_79, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_79\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
            Reporter: Gary Gregory


Memory-mapped file appender creates null-padded files.

If configured my app like this:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2014-2015 Rocket Software, Inc. All rights reserved. -->
<Configuration status="WARN" monitorInterval="5">
  <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout noConsoleNoAnsi="true"
        pattern="%style{%d}{white} %highlight{%-5level}{TRACE=white} 
%style{[%t][%logger]}{white} %highlight{%msg%n%throwable}{TRACE=white}" />
    </Console>
    <RollingRandomAccessFile name="RollingFile" append="false" 
fileName="/test/dv/logs/dv.log-OFF"
      filePattern="/test/dv/logs/$${date:yyyy-MM}/dv-%d{yyyy-MM-dd}-%i.log.gz">
      <PatternLayout>
        <Pattern>%d %-5level [%t][%logger] %msg%n%throwable</Pattern>
      </PatternLayout>
      <Policies>
        <SizeBasedTriggeringPolicy size="100 MB" />
      </Policies>
    </RollingRandomAccessFile>
    <MemoryMappedFile name="MemMapFile" append="false" 
fileName="/test/dv/logs/dv.log">
      <PatternLayout>
        <Pattern>%d %-5level [%t][%logger] %msg%n%throwable</Pattern>
      </PatternLayout>
    </MemoryMappedFile>
  </Appenders>
  <Loggers>
    <Root level="trace">
<!--       <AppenderRef ref="Console" /> -->
<!--       <AppenderRef ref="RollingFile" /> -->
      <AppenderRef ref="MemMapFile" />
    </Root>
    <Logger name="javax.management" level="INFO" />
    <Logger name="sun.rmi" level="INFO" />
    <Logger name="com.rs.dv.util.LoggerEnvironmentReporter" level="OFF" />
  </Loggers>
  <!-- Filters -->
  <Filters>
    <!-- SQL only -->
    <!-- <MarkerFilter marker="DV.SQL" onMatch="ACCEPT" onMismatch="DENY" /> 
<MarkerFilter marker="DV.SQL.QUERY" onMatch="ACCEPT" 
      onMismatch="DENY" /> <MarkerFilter marker="DV.SQL.UPDATE" 
onMatch="ACCEPT" onMismatch="DENY" /> -->
    <!-- No buffer hex dumps -->
    <!-- <MarkerFilter marker="DV.BUFFER" onMatch="DENY" onMismatch="NEUTRAL" 
/> -->
  </Filters>
</Configuration>
{code}

After the app runs, I have a 32 MB log file, with the later 2/3 of the file, 
all null bytes.

Clearly, we need to limit what we write out.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to