[ 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