log4j2怎么定时生成文件

avatar
作者
猴君
阅读量:8

在log4j2中,可以使用RollingFileAppender来定时生成文件。以下是一个示例配置文件,其中每天生成一个新的日志文件:

<?xml version="1.0" encoding="UTF-8"?> <Configuration status="INFO">     <Appenders>         <RollingFile name="RollingFile" fileName="logs/app.log"                      filePattern="logs/app-%d{yyyy-MM-dd}.log">             <PatternLayout pattern="%d [%t] %-5p %c{1}:%L - %m%n" />             <Policies>                 <TimeBasedTriggeringPolicy />             </Policies>             <DefaultRolloverStrategy max="10" />         </RollingFile>     </Appenders>     <Loggers>         <Root level="info">             <AppenderRef ref="RollingFile" />         </Root>     </Loggers> </Configuration> 

在上面的配置文件中,<RollingFile>指定了日志文件的名称和文件模式。使用%d{yyyy-MM-dd}模式可以将日志文件名设置为每天一个新文件。<Policies>部分指定了触发滚动的策略,这里使用了<TimeBasedTriggeringPolicy>来按时间触发滚动。<DefaultRolloverStrategy>指定了滚动策略,默认最多保留10个日志文件。

在你的项目中,将上述配置文件保存为log4j2.xml,并将其放置在类路径下。然后,在代码中初始化log4j2,即可开始按照配置的时间间隔生成日志文件。

import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger;  public class MyApp {     private static final Logger logger = LogManager.getLogger(MyApp.class);          public static void main(String[] args) {         logger.info("Hello, World!");     } } 

以上代码将在logs目录下生成每天一个新的日志文件,例如app-2022-01-01.logapp-2022-01-02.log等。每个日志文件中将记录应用程序的日志信息。

注意:在使用log4j2之前,需要确保已正确配置log4j2依赖项,并在项目的pom.xmlbuild.gradle文件中添加相应的依赖。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!