繁体   English   中英

如何在 SpringBoot application.yml 中配置 log4j 滚动文件附加程序

[英]how to configure log4j rolling file appender in SpringBoot application.yml

我正在开发 spring 启动应用程序。 对于日志记录,我正在尝试使用 log4j。 谁能帮我在 application.yml 中配置 RollingFileAppender

我有以下 log4j 依赖项:

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.7</version>
</dependency>

<dependency>
    <groupId>log4j</groupId>
    <artifactId>apache-log4j-extras</artifactId>
    <version>1.2.17</version>
</dependency>

目前我正在尝试使用以下代码:

log4j.appender.File: org.apache.log4j.rolling.RollingFileAppender
log4j.appender.File.file: ${basedir}/logs
log4j.appender.File.rollingPolicy: org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.File.rollingPolicy.FileNamePattern: %d{ddMMyyyy}.log

我想将日志文件存储在项目本身中,文件模式应为 DD-MM-YYYY.log。 而且在我的 function 中,我正在打印我的日志,如下所示:

private static Logger logger = LoggerFactory.getLogger(LoggingFile.class);
logger.info("Printing logs in file");

我可以在控制台中看到这个,但文件没有创建。 请帮忙!

提前致谢!

我觉得LogBack是更好的选择,下面是相关配置

<configuration scan="true" scanPeriod="5 seconds">
<contextName>heron</contextName>
<property name="appName" value="adminLte"/>
<property name="logPath" value="/tmp/logs"/>

<!--控制台日志-->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{16} - %msg%n</pattern>
    </encoder>
</appender>

<!--基于时间和文件尺寸的轮转-->
<appender name="rollingFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${logPath}/${appName}/${appName}.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
        <fileNamePattern>${logPath}/${appName}/%d{yyyy-MM-dd}/${appName}-%i.log</fileNamePattern>
        <maxFileSize>10MB</maxFileSize>
        <maxHistory>15</maxHistory>
        <totalSizeCap>5GB</totalSizeCap>
    </rollingPolicy>
    <encoder>
        <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{16} - %msg%n</pattern>
    </encoder>
</appender>

<logger name="website.lhc" level="debug" additivity="false">
    <appender-ref ref="STDOUT"/>
    <appender-ref ref="rollingFileAppender"/>
</logger>


<logger name="org.springframework.security" level="debug" additivity="false">
    <appender-ref ref="STDOUT"/>
    <appender-ref ref="rollingFileAppender"/>
</logger>


<root level="info">
    <appender-ref ref="STDOUT"/>
    <appender-ref ref="rollingFileAppender"/>
</root>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM