Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java log4j-应用程序启动时触发日志滚动_Java_Logging_Log4j - Fatal编程技术网

Java log4j-应用程序启动时触发日志滚动

Java log4j-应用程序启动时触发日志滚动,java,logging,log4j,Java,Logging,Log4j,对于log4j,我希望DailRollingFileAppender的行为能够在应用程序启动时发生基于日期模式的日志滚动。但是一旦应用程序启动,我不希望它在下次应用程序重新启动之前进行任何自动日志旋转。如何配置log4j来完成此操作?您必须通过迭代所有记录器,获取记录器,然后要求ti不再滚动,以编程方式设置记录器属性。这是我认为的唯一方法。您的规范听起来像是希望应用程序启动,创建一个特定日期的日志文件,并一直使用到它关闭为止 如果是这样的话,您可能希望创建自己的Appender实现,可能源于。最

对于log4j,我希望DailRollingFileAppender的行为能够在应用程序启动时发生基于日期模式的日志滚动。但是一旦应用程序启动,我不希望它在下次应用程序重新启动之前进行任何自动日志旋转。如何配置log4j来完成此操作?

您必须通过迭代所有记录器,获取记录器,然后要求ti不再滚动,以编程方式设置记录器属性。这是我认为的唯一方法。

您的规范听起来像是希望应用程序启动,创建一个特定日期的日志文件,并一直使用到它关闭为止


如果是这样的话,您可能希望创建自己的Appender实现,可能源于

。最后,我选择了一种更简单的方法。在log4j.properties中,我使用org.apache.log4j.FileAppender,但是对于“File”设置,我没有固定的名称,而是将其设置为${LOG_File}。当我的应用程序启动时,在调用PropertyConfigurator.configure(属性)之前,我只需执行以下操作:System.setProperty(“LOG_文件”,logFileName);给我想要的日志文件名。