1. 程式人生 > >關於spring-boot 的日誌輸出到控制臺和指定文件的配置

關於spring-boot 的日誌輸出到控制臺和指定文件的配置

add contex ring level true source ont utf onf

(1)問題:在本地使用spring-boot開發的程序,一直想讓文件按照天輸出到某個文件夾下面。但是一直成功。
解決過程:

想到日誌優先想著配置log4j.properties文件,但是一直不 成功,我把文件放在source目錄下。不生效。

然後查資料了解到spring-boot的日誌輸出使用的是logback的形式。因此設置了:

(1)設置application.properties文件

logging.level.com.huike=INFO

(2)設置logback-spring.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<contextName>logback</contextName>
<!--輸出到控制臺-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %5level %logger{36} -%msg%n</pattern>
</encoder>
</appender>

<!--按天生成日誌-->
<appender name="logFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<Prudent>true</Prudent>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>
poslog/%d{yyyy-MM-dd}.log
</FileNamePattern>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %5level %logger{36} -%msg%n
</Pattern>
</layout>
</appender>

<root level="debug,ERROR">
<appender-ref ref="console" />
<appender-ref ref="logFile" />
</root>

<!-- <logger name="com.pos" level="INFO" additivity="false">
<appender-ref ref="console"/>
</logger> -->
</configuration>

最終文件會生成在工程目錄的文件文件夾下:

技術分享圖片

問題總結:spring 框架中使用要產生文件就要使用自帶的日誌配置文件。使用log4j這樣的配置文件是不生效的。

關於spring-boot 的日誌輸出到控制臺和指定文件的配置