簡體   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