简体   繁体   中英

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

I'm working on spring boot application. For logging I'm trying to use log4j. Can anyone help me to configure the RollingFileAppender in application.yml

I have following log4j dependencies:

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

Currently I'm try with following code:

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

I want to store the log file in the project itself and the file pattern should DD-MM-YYYY.log. And also in my function, I'm printing my log as follows:

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

I can able to see this in console, but the file is not creating. Please help!

Thanks in advance!

I think LogBack is a better choice, the following is the relevant configuration

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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