[ 
https://issues.apache.org/jira/browse/LOG4J2-435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15092784#comment-15092784
 ] 

ASF GitHub Bot commented on LOG4J2-435:
---------------------------------------

Github user remkop commented on the pull request:

    https://github.com/apache/logging-log4j2/pull/22#issuecomment-170707687
  
    Web applications usually put the username and client IP address in the 
ThreadContext map, and in the pattern layout use %X{username} etc to log the 
values. 
    You'll need to set these values at the beginning of each request and remove 
them when you finished handling the request. 
    
    The log4j 1 equivalent was MDC (or NDC). 
    
    If this is not what you need please explain more about your use case. 
    
    Remko
    
    Sent from my iPhone
    
    > On 2016/01/12, at 2:21, jarvan4dev <notificati...@github.com> wrote:
    > 
    > Hello developers
    > 
    > I am trying migrate log4j1.x to 2, and I have a socketAppender, in 
log4j1.x the socketServer is easily override, but in the 2nd one, the 
TcpSocketServer is not so, so many class members are protected or private, so 
it is really difficult. Oh, I am sorry, I forgot to come up with my need, I 
need log the client ip or hostname via socket server, just like this:
    > 
    > 2016-01-12 02:09:09,234 [thread-exec-8] 120.24.176.190 
com.zhb.service.StuedentService.getIns(19)-age: 19, name:Eason
    > 
    > Could you give me a hand, thanks so much.
    > 
    > You can view, comment on, or merge this pull request online at:
    > 
    >   https://github.com/apache/logging-log4j2/pull/22
    > 
    > Commit Summary
    > 
    > LOG4J2-435 actions and filters for delete-on-rollover support
    > LOG4J2-435 unit tests for the new actions and path filters
    > LOG4J2-435 String to Duration converter and unit test
    > LOG4J2-435 Integrated custom actions with DefaultRolloverStrategy
    > LOG4J2-435 Renamed PathFilter to PathCondition to avoid confusion with
    > LOG4J2-435 Renamed FileNameFilter (plugin name "File") to IfFileName
    > LOG4J2-435 Renamed FileLastModifiedFilter (plugin name "LastModified")
    > LOG4J2-435 Added test to integrate the Delete action with
    > LOG4J2-435 bugfix
    > LOG4J2-435 Made Duration.parse() lenient: prefix 'P' and infix 'T' are
    > Remove old FIXME comment that was fixed long ago.
    > Fix LOG4J2-1196 (close Mongo connection)
    > Add changelog message for LOG4J2-1196.
    > LOG4J2-89 - Allow rollover any time. Add cron based rollover
    > Add CronExpression TypeConverter
    > LOG4J2-89 add CronScheduledFuture
    > LOG4J2-381 - Allow triggering policy and rollover strategy to be modified 
during reconfiguration
    > LOG4J2-381 - modify unit test to verify this fix
    > [LOG4J2-1194] Documentation does not match parameters for
    > LOG4J2-1176 print debug info on which Providers are loaded
    > LOG4J2-1176 use weak reference to classloader in Provider to prevent
    > LOG4J2-1176 Fixed memory leak when log4j jars are in Tomcat's lib folder
    > LOG4J2-323/LOG4J2-493 bugfix: AbstractContext.stop() performed
    > Extract string encoding utility methods.
    > Update reference to Kafka client library
    > Add reference to Kafka client library
    > Add some missing dependency information
    > Javadoc: Use the active voice.
    > Format nits.
    > Use StringEncoder for encoding String to byte[]
    > FAQ improvements.
    > doc improvement: show how to configure rollover strategy when
    > Give credit to Murad Ersoy for contributing the new Log4j 2 logo.
    > Added Thanks page with link to YourKit's Java profiler.
    > Change YourKit link to https://www.yourkit.com/features/
    > Formatted license header.
    > Remove redundant dependency information
    > LOG4J2-1172 added utility method to get Executor's thread ID
    > LOG4J2-1172 made ThreadNameCachingStrategy a top-level class
    > LOG4J2-1172 AsyncLoggers now update their nanoClock when the
    > LOG4J2-1172 performance optimization: split up initialization method
    > LOG4J2-1172 Fixed ThreadLocal leak [AsyncLogger$Info] on Tomcat when
    > Documentation: small improvements.
    > AsyncLoggerConfigDisruptor change: Determining if the current thread is
    > Made DaemonThreadFactory THREAD_NUMBER a static field to ensure threads
    > LOG4J2-1029 Performance improvement when gathering location information
    > only define one @Test method per test class with Async Loggers to
    > LOG4J2-1029 add comment to document reason for this code
    > Remove old FIXME comment that was fixed long ago.
    > Make KafkaAppender support SerializedLayout (LOG4J2-1195)
    > formatted factory method
    > Fix LOG4J2-1196 (close Mongo connection)
    > Add changelog message for LOG4J2-1196.
    > Merge branch 'master' of 
https://git-wip-us.apache.org/repos/asf/logging-log4j2
    > Add documentation for CronTriggeringPolicy
    > LOG4J2-1202 - Remove ConfigurationMonitor. Configuration file changes 
will now be handled by the WatchManager
    > Rename FileWatcherConfigurationMonitor
    > Modify class description
    > Add missing license headers
    > Findbugs and checkstyle fixes
    > Merge remote-tracking branch 'origin/master' into 
LOG4J2-435-delete-on-rollover
    > LOG4J2-435 Factored out file size parsing logic into helper class
    > LOG4J2-435 added method beforeFileTreeWalk for stateful conditions
    > LOG4J2-435 added method isFollowSymbolicLinks; use Paths.get to create
    > LOG4J2-435 added classes and interfaces to support sorting paths before
    > LOG4J2-435 renamed variables
    > LOG4J2-435 added method isFollowSymbolicLinks; use Paths.get to create
    > LOG4J2-435 renamed composite conditions
    > LOG4J2-435 use PathMatcher instead of custom logic for glob and regex
    > LOG4J2-435 renamed fields and parameters
    > LOG4J2-435 initial version of IfAccumulatedFileCount and
    > LOG4J2-435 sort paths before executing the filtered Delete action
    > LOG4J2-435 added test for IfAccumulatedFileCount
    > LOG4J2-435 added test for IfAccumulatedFileSize
    > LOG4J2-435 added comments
    > LOG4J2-435 fixed broken integration test; prevent unconditional deletion
    > Delete merge remainders
    > LOG4J2-435 prevent unconditional deletion
    > LOG4J2-435 simplified integration test config file
    > LOG4J2-435 test unconditional deletion will not happen
    > LOG4J2-435 test delete does not exceed maxDepth even IfFileName glob
    > LOG4J2-435 test code cleanup
    > LOG4J2-435 added integration test for IfAccumulatedFileSize
    > LOG4J2-649 - Add PurgePolicy and IdlePurgePolicy to RoutingAppender.
    > LOG4J2-435 added integration test for IfAccumulatedFileCount combined
    > LOG4J2-435 small test improvements
    > LOG4J2-435 comment fix
    > LOG4J2-435 Fixed spuriously failing tests
    > Fix order of initializing components
    > [LOG4J2-1207] Update kafka-clients from 0.8.2.2 to 0.9.0.0.
    > LOG4J2-435 improved javadoc
    > LOG4J2-435 initial documentation for custom Delete action
    > LOG4J2-435 documentation for Delete conditions
    > LOG4J2-435 Delete documentation fixes
    > LOG4J2-435 added support for nested conditions, and JUnit tests
    > LOG4J2-435 added support for a TestMode parameter to allow testing
    > Merge remote-tracking branch 'origin/master' into 
LOG4J2-435-delete-on-rollover
    > LOG4J2-435 added entry to change log
    > LOG4J2-435 small documentation fixes
    > LOG4J2-435 small documentation fixes
    > Compile and execute scripts in doPrivileged block.
    > LOG4J2-435 test fix: don't assume that Files.createTempFile actually
    > Merge branch 'master' of 
https://git-wip-us.apache.org/repos/asf/logging-log4j2.git
    > LOG4J2-435 IfFileName better status log message
    > LOG4J2-435 attempt to fix failing test on unix
    > LOG4J2-1173 Fixed rollover error when copying to a directory mapped to a
    > LOG4J2-435 print more status messages to investigate failing test on
    > LOG4J2-435 make conditions print more informative status messages during
    > LOG4J2-435 more debug info
    > LOG4J2-435 take into account 1 sec granularity
    > LOG4J2-435 revert back to getting details from attribute object
    > LOG4J2-435 sort by lastModified time first, by path lexicographically
    > LOG4J2-435 bugfix in test
    > LOG4J2-435 improved status message
    > LOG4J2-435 ensure non-rolledover files are most recent, even on file
    > LOG4J2-324 reduce memory usage of status messages
    > LOG4J2-324 minor change to support never storing StatuData in bounded
    > LOG4J2-324 change log
    > LOG4J2-435 update test now that path is relevant when time is same
    > LOG4J2-435 number of rollovers varies, tests cannot accurately predict
    > LOG4J2-435 number of rollovers varies, tests cannot accurately predict
    > LOG4J2-937 - Verify MDC is included in LogEvent
    > LOG4J2-937 - Verify MDC is included in LogEvent
    > Make sure that IdlePurgePolicy can handle an appender which hang on 
shutdown
    > Javadoc: Use the active voice.
    > Replace String protocol method with type-safe enum Protocol.
    > Javadoc.
    > Add back and deprecate method.
    > Merge branch 'master' into LOG4J2-649
    > Make sure that IdlePurgePolicy can handle an appender which hang on 
shutdown
    > Merge branch 'master' into LOG4J2-649
    > Replace String protocol method with type-safe enum Protocol.
    > Merge branch 'master' of 
https://git-wip-us.apache.org/repos/asf/logging-log4j2.git
    > Format.
    > Remove unused imports.
    > Javadoc tweak.
    > Encapsulate immediate flush.
    > New SocketAppender factory API is now type safe.
    > Test clean ups.
    > New SocketAppender factory API is now type safe.
    > Add ConsoleAppender.getTarget().
    > New SocketAppender factory API is now type safe. Clean ups.
    > New ConsoleAppender factory method is type safe, old method is
    > Fix tests I broke earlier.
    > Merge branch 'master' into LOG4J2-649
    > Clean-up
    > Collapse catch blocks.
    > Update annotation processor to require Java 7.
    > Formatting nit.
    > organized imports
    > organized imports, implemented serializable
    > LOG4J2-435 avoid IOException if file to delete does not exist
    > LOG4J2-435 added support for ScriptCondition in Delete action
    > LOG4J2-435 ScriptCondition unit tests
    > LOG4J2-435 constructor needs ScriptCondition parameter
    > LOG4J2-435 integration test for Delete with ScriptCondition
    > documentation: small fixes related to script documentation
    > documentation: small fixes related to script documentation
    > LOG4J2-435 added documentation for ScriptCondition
    > LOG4J2-435 added unit test; fixed documentation for ScriptCondition
    > LOG4J2-435 small ScriptCondition documentation improvements
    > LOG4J2-435 make unit test more robust
    > LOG4J2-435 ScriptCondition documentation improvements
    > Wrap calls to Script in security manager
    > Reduce build output
    > Suppress warnings
    > Reduce noise during build
    > Add missing license headers
    > Allow check for rollover at startup
    > Try to print the full stack trace and identify the failing file in the 
test
    > prepare for release
    > Prepare for release
    > [maven-release-plugin] prepare release log4j-2.5-rc1
    > [maven-release-plugin] prepare for next development iteration
    > Checkstyle: RedundantModifier.
    > Checkstyle: RedundantModifier.
    > Checkstyle: RedundantModifier.
    > Checkstyle: RedundantModifier.
    > Checkstyle: RedundantModifier.
    > Redundant specification of type arguments <ClassLoader>.
    > Missing Javadoc @param.
    > Do not hide.
    > Use TimeUnit instead of magic number.
    > Format nit.
    > Fix SCM tag.
    > Fix SCM tag.
    > [LOG4J2-1215] Documentation/XSD inconsistencies.
    > Format nit.
    > [LOG4J2-1219] Update SLF4J from 1.7.12 to 1.7.13. Builds like a champ
    > Use Objects.requireNonNull
    > javadoc fixes
    > javadoc fixes
    > LOG4J2-1080 added method getDoubleProperty
    > LOG4J2-1080 clarify what it means for a level to be more/less specific 
than another level
    > LOG4J2-1212 Fix documentation to correctly specify the blocking wait 
strategy as the default for async loggers.
    > Related to [LOG4J2-1229] Error creating logger: Log the caught
    > LOG4J2-1080 Introduced new interface AsyncEventRouter. Implementations 
decide whether to discard events, enqueue them for async logging or log them 
synchronously.
    > LOG4J2-1080 factory that creates AsyncEventLogger implementations based 
on system properties
    > LOG4J2-1080 Introduced enum EventRoute with values for discarding events, 
enqueuing them for async logging or logging them synchronously.
    > LOG4J2-1080 DefaultAsyncEventRouter encapsulates the logic for 
LOG4J2-471: prevent deadlock when the queue is full and the object that is 
being logged performs logging itself from its toString() method.
    > LOG4J2-1080 DiscardingAsyncEventRouter drops events below a certain log 
level when the queue is getting too full
    > LOG4J2-1080 AsyncAppender delegates to the AsyncEventRouter to determine 
if/how to log the event at the current queue usage
    > LOG4J2-1080 AsyncLogger now delegates to the AsyncEventRouter to 
determine if/how to log the event at the current ring buffer usage
    > LOG4J2-1080 AsyncLoggerConfig now delegates to the AsyncEventRouter to 
determine if/how to log the event at the current queue usage
    > LOG4J2-1080 added unit tests
    > LOG4J2-1080 documentation
    > LOG4J2-1080 change log entry
    > Ignore Eclipse project file.
    > Link from ScriptFilter documentation to the ScriptCondition docs for an 
example of embedding script code directly in the configuration.
    > Merge remote-tracking branch 'origin/master'
    > xml fix
    > LOG4J2-435 improved documentation
    > LOG4J2-435 grammar fix
    > formatted XML
    > [LOG4J2-1233] Misleading Value In Properties Example.
    > Pick up Javadoc updates from revision 1722253.
    > [LOG4J2-908] JSONLayout doesn't add a comma between log events.
    > Fix Javadoc.
    > [LOG4J2-1238] org.apache.logging.log4j.core.net.TcpSocketManager does
    > Log exception to status logger.
    > Log exceptions to status logger.
    > [LOG4J2-1238] org.apache.logging.log4j.core.net.TcpSocketManager and
    > [LOG4J2-1239] Update Jackson from 2.6.3 to 2.6.4.
    > Update tests from Apache Active MQ 5.12.0 to 5.13.0.
    > Update clirr-maven-plugin from 2.6.1 to 2.7.
    > Update maven-jetty-plugin from 6.1.10 to 6.1.26.
    > Update maven-install-plugin from 2.4 to 2.5.2.
    > [LOG4J2-1240] Update Liquibase from 3.3.5 to 3.4.2.
    > Add tests for LOG4J2-1232
    > Add tests for [LOG4J2-1232] Incorrect log rotation in last week of year.
    > [LOG4J2-1232] Incorrect log rotation in last week of year. Sort methods.
    > [LOG4J2-1232] Incorrect log rotation in last week of year. Inline lvar.
    > Fix Javadoc typo.
    > Fix typo in test assert message.
    > [LOG4J2-908] JSONLayout doesn't add a comma between log events.
    > Better assert message.
    > Better assert message.
    > [LOG4J2-1237] Make PatternLayout header and footer accept a pattern.
    > Update Surefire and Failsafe to 2.19.1 works for me locally, which fixes
    > findbugs.plugin.version 3.0.2 -> 3.0.3.
    > Fix typo in error message.
    > [LOG4J2-1237] Make PatternLayout header and footer accept a pattern.
    > Formatting.
    > Formatting.
    > Ignore Eclipse .settings folder.
    > [LOG4J2-1192] Dynamic Subject for SMTP Appender.
    > [LOG4J2-1230] Don't concatenate SYSLOG Messages.
    > [LOG4J2-1244] Make header and footer values customizable in JSONLayout.
    > LOG4J2-1248 Fixed broken nanotime in pattern layout
    > formatting
    > File Changes
    > 
    > M BUILDING.txt (89)
    > M RELEASE-NOTES.txt (148)
    > M log4j-1.2-api/pom.xml (2)
    > M log4j-1.2-api/src/main/java/org/apache/log4j/LogManager.java (444)
    > A log4j-1.2-api/src/test/java/org/apache/log4j/LogWithMDCTest.java (52)
    > A log4j-1.2-api/src/test/java/org/apache/log4j/LogWithRouteTest.java (53)
    > A log4j-1.2-api/src/test/resources/log-RouteWithMDC.xml (47)
    > A log4j-1.2-api/src/test/resources/logWithMDC.xml (40)
    > M log4j-api/pom.xml (2)
    > M log4j-api/src/main/java/org/apache/logging/log4j/Level.java (23)
    > M log4j-api/src/main/java/org/apache/logging/log4j/LogManager.java (5)
    > M 
log4j-api/src/main/java/org/apache/logging/log4j/message/BasicThreadInformation.java
 (2)
    > M 
log4j-api/src/main/java/org/apache/logging/log4j/message/ExtendedThreadInformation.java
 (3)
    > M 
log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessageFactory.java
 (5)
    > M 
log4j-api/src/main/java/org/apache/logging/log4j/message/MapMessage.java (11)
    > A 
log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedNoReferenceMessageFactory.java
 (58)
    > A 
log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessageFactory.java
 (54)
    > M 
log4j-api/src/main/java/org/apache/logging/log4j/message/StructuredDataMessage.java
 (12)
    > M 
log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java 
(2)
    > M 
log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLoggerContext.java
     (29)
    > M log4j-api/src/main/java/org/apache/logging/log4j/spi/LoggerContext.java 
(18)
    > A 
log4j-api/src/main/java/org/apache/logging/log4j/spi/LoggerContextKey.java (45)
    > M log4j-api/src/main/java/org/apache/logging/log4j/spi/Provider.java (40)
    > M 
log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java (18)
    > M log4j-api/src/main/java/org/apache/logging/log4j/util/LoaderUtil.java 
(29)
    > M 
log4j-api/src/main/java/org/apache/logging/log4j/util/PropertiesUtil.java (89)
    > M log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java 
(4)
    > M 
log4j-api/src/main/java/org/apache/logging/log4j/util/StringBuilders.java (2)
    > M log4j-api/src/test/java/org/apache/logging/log4j/LoggerTest.java (15)
    > M log4j-api/src/test/java/org/apache/logging/log4j/TestLoggerContext.java 
(14)
    > M 
log4j-api/src/test/java/org/apache/logging/log4j/message/MapMessageTest.java 
(11)
    > M 
log4j-api/src/test/java/org/apache/logging/log4j/message/StructuredDataMessageTest.java
 (14)
    > M 
log4j-api/src/test/java/org/apache/logging/log4j/util/LambdaUtilTest.java (2)
    > M log4j-bom/pom.xml (2)
    > M log4j-core/pom.xml (14)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/LogEventListener.java (3)
    > M log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java (88)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java (111)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/StringLayout.java (33)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractManager.java
 (26)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java
 (27)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractWriterAppender.java
 (124)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java
 (128)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
 (122)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileManager.java
     (8)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppender.java
 (3)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManager.java
 (23)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamAppender.java
 (191)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
 (40)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileManager.java
 (11)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RollingFileAppender.java
 (3)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RollingRandomAccessFileAppender.java
 (4)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SmtpAppender.java
 (7)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java
 (146)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/TlsSyslogFrame.java
 (30)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/WriterAppender.java
 (183)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/WriterManager.java
 (149)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseManager.java
 (6)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JdbcDatabaseManager.java
 (4)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/JpaDatabaseManager.java
 (2)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextStackAttributeConverter.java
 (2)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextStackJsonAttributeConverter.java
 (2)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/package-info.java
 (11)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/jeromq/JeroMqAppender.java
 (3)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppender.java
 (25)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaManager.java
 (3)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CompositeTriggeringPolicy.java
 (12)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java
 (131)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java
 (233)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FileSize.java
 (90)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java
 (120)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager.java
 (31)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/SizeBasedTriggeringPolicy.java
 (61)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/TimeBasedTriggeringPolicy.java
 (2)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/AbstractAction.java
 (5)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/AbstractPathAction.java
 (163)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/CommonsCompressAction.java
 (16)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/CompositeAction.java
 (9)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/DeleteAction.java
 (218)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/DeletingVisitor.java
 (97)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/Duration.java
 (257)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/FileRenameAction.java
 (56)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/GzCompressAction.java
 (12)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfAccumulatedFileCount.java
 (113)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfAccumulatedFileSize.java
 (116)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfAll.java
 (116)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfAny.java
 (86)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfFileName.java
 (149)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfLastModified.java
 (113)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfNot.java
 (77)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PathCondition.java
 (44)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTime.java
 (85)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PathSorter.java
 (27)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PathWithAttributes.java
 (59)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/ScriptCondition.java
 (118)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/SortingVisitor.java
 (58)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/ZipCompressAction.java
 (16)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/IdlePurgePolicy.java
 (158)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/PurgePolicy.java
 (47)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java
 (34)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncEventRouter.java
 (39)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncEventRouterFactory.java
 (117)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java 
(480)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java
 (51)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfigDelegate.java
 (49)
    > R 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfigDisruptor.java
 (294)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContext.java
 (80)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContextSelector.java
 (47)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerDisruptor.java
 (222)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/DaemonThreadFactory.java
 (8)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/DefaultAsyncEventRouter.java
 (38)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/DiscardingAsyncEventRouter.java
 (93)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorUtil.java 
(118)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/EventRoute.java 
(99)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
 (38)
    > M 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEventTranslator.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/async/ThreadNameCachingStrategy.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/AppenderControl.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/AppendersPlugin.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/AwaitCompletionReliabilityStrategy.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configuration.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationFactory.java
 (0)
    > D 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationMonitor.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationScheduler.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfiguratonFileWatcher.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/CronScheduledFuture.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/DefaultConfiguration.java
 (0)
    > D 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/DefaultConfigurationMonitor.java
 (0)
    > D 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/FileConfigurationMonitor.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/LockingReliabilityStrategy.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java 
(0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/PropertiesPlugin.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/ReliabilityStrategyFactory.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/Scheduled.java (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/ScriptsPlugin.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/Component.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilderFactory.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ScriptComponentBuilder.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ScriptFileComponentBuilder.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/package-info.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/BuiltConfiguration.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultComponentBuilder.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultScriptComponentBuilder.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultScriptFileComponentBuilder.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/package-info.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/json/JsonConfiguration.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/Plugin.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginBuilderAttribute.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginBuilderFactory.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginFactory.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginVisitorStrategy.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverter.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverterRegistry.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/package-info.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginCache.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginEntry.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginProcessor.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/package-info.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/PluginBuilder.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/PluginRegistry.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/ResolverUtil.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/package-info.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/validation/ConstraintValidator.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/validation/validators/RequiredValidator.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/AbstractPluginVisitor.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginAttributeVisitor.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginBuilderAttributeVisitor.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginConfigurationVisitor.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginElementVisitor.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginNodeVisitor.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginValueVisitor.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginVisitor.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginVisitors.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/package-info.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/properties/PropertiesConfigurationFactory.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/properties/package-info.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/status/StatusConfiguration.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/filter/LevelRangeFilter.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ScriptFilter.java 
(0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jContextFactory.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jLogEvent.java 
(0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ListOfMapEntryDeserializer.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ListOfMapEntrySerializer.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/MapEntry.java (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/LoggerContextAdmin.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/LoggerContextAdminMBean.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/RingBufferAdmin.java 
(0)
    > I log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/Server.java 
(0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractCsvLayout.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractJacksonLayout.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractLayout.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/CsvLogEventLayout.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/CsvParameterLayout.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java 
(0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java 
(0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/JsonLayout.java 
(0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/ScriptPatternSelector.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SerializedLayout.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java 
(0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/XmlLayout.java (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Log4jLookup.java 
(0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/net/MulticastDnsAdvertiser.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/net/Priority.java (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/net/Protocol.java (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/net/SmtpManager.java (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/net/TcpSocketManager.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/net/mom/jms/JmsQueueReceiver.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/net/mom/jms/JmsTopicReceiver.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/net/mom/jms/package-info.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/net/server/AbstractSocketServer.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/net/server/JmsServer.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/net/server/SecureTcpSocketServer.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/net/server/TcpSocketServer.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/net/server/UdpSocketServer.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/AbstractKeyStoreConfiguration.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/SslConfiguration.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/StoreConfigurationException.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/osgi/Activator.java (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/osgi/package-info.java 
(0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsIgnoreCaseReplacementConverter.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsReplacementConverter.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverter.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FormattingInfo.java
     (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LiteralPatternConverter.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LogEventPatternConverter.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MapPatternConverter.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MarkerPatternConverter.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MarkerSimpleNamePatternConverter.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MdcPatternConverter.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NanoTimePatternConverter.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/PatternParser.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RootThrowablePatternConverter.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/StyleConverter.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/VariablesNotEmptyReplacementConverter.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/script/AbstractScript.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/script/Script.java (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/script/ScriptFile.java 
(0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/script/ScriptManager.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/script/ScriptRef.java (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/script/package-info.java 
(0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/selector/ClassLoaderContextSelector.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/Builder.java (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/CachedClock.java (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/ClockFactory.java 
(0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/CloseShieldOutputStream.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/CloseShieldWriter.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/CoarseCachedClock.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/Constants.java (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/CronExpression.java 
(0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/DefaultShutdownCallbackRegistry.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/ExtensionLanguageMapping.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/FileUtils.java (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/FileWatcher.java (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/IOUtils.java (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/Log4jThread.java (0)
    > D 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/NanoClockFactory.java
 (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/StringBuilderWriter.java
     (0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/StringEncoder.java 
(0)
    > A 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/WatchManager.java 
(0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/DateParser.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/DatePrinter.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FastDateFormat.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FastDateParser.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FastDatePrinter.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java
 (0)
    > I 
log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FormatCache.java
 (0)
    > I log4j-core/src/main/resources/Log4j-config.xsd (0)
    > I log4j-core/src/site/xdoc/index.xml (0)   
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/categories/PerformanceTests.java
 (0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/categories/package-info.java 
(0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/HostNameTest.java (0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/LogEventTest.java (0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/LoggerDateTest.java (0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/LoggerSerializationTest.java
     (0)
    > I log4j-core/src/test/java/org/apache/logging/log4j/core/LoggerTest.java 
(0)
    > I log4j-core/src/test/java/org/apache/logging/log4j/core/LookupTest.java 
(0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/PatternSelectorTest.java 
(0)   
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderShutdownTimeoutTest.java
 (0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderTest.java
 (0)
    > A 
log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConfigurationTestUtils.java
 (0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java
 (0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/appender/HangingAppender.java
 (0)
    > A 
log4j-core/src/test/java/org/apache/logging/log4j/core/appender/InMemoryAppenderTest.java
 (0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/appender/JsonCompleteFileAppenderTest.java
 (0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderLocationTest.java
 (0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderRemapTest.java
 (0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderSimpleTest.java
 (0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/appender/OutputStreamAppenderTest.java
 (0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/appender/RandomAccessFileAppenderTests.java
 (0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/appender/RandomAccessFileManagerTest.java
 (0)
    > I 
log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SmtpAppenderTest.java
 (0)
    > Patch Links:
    > 
    > https://github.com/apache/logging-log4j2/pull/22.patch
    > https://github.com/apache/logging-log4j2/pull/22.diff
    > ―
    > Reply to this email directly or view it on GitHub.
    > 



> Feature request: auto-delete older log files 
> ---------------------------------------------
>
>                 Key: LOG4J2-435
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-435
>             Project: Log4j 2
>          Issue Type: Improvement
>            Reporter: Arkin Yetis
>            Assignee: Remko Popma
>              Labels: Rollover
>             Fix For: 2.5
>
>         Attachments: LimitingRolloverStrategy.java, SizeParser.java
>
>
> Original description:
> {quote}
> DefaultRolloverStrategy max attribute only applies if you have a %i in the 
> file pattern. This request is to enhance DefaultRolloverStrategy or another 
> appropriate component to allow a max number of files limit to apply across 
> days/months/years when a filePattern includes a date pattern.
> {quote}
> ----
> One of the most requested features is to add the ability to Log4j to "clean 
> up" older log files.  This usually means deleting these files, although it 
> could also mean moving them to a different location, or some combination of 
> these. 
> Users have different requirements for selecting the files to clean up. A 
> common request is the ability to keep the last X number of log files. This 
> works well if rollover is only date based but may give undesired results with 
> size based rollover. 
> Another factor to consider is that the directory containing the log files may 
> contain the log files for multiple appenders, or even files unrelated to 
> logging. 



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

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to