关于spring-boot 的日志输出到控制台和指定文件的配置

Posted gxg123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于spring-boot 的日志输出到控制台和指定文件的配置相关的知识,希望对你有一定的参考价值。

(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 的日志输出到控制台和指定文件的配置的主要内容,如果未能解决你的问题,请参考以下文章

关于slf4j不能输出日志到文件,怎么解决

关于slf4j不能输出日志到文件,怎么解决

让你的spring-boot应用日志随心所欲--spring boot日志深入分析

Spring Boot中的日志配置

springboot如何实现logback不同环境日志输出路径不同

spring-boot中logback日志配置