SpringBoot工程使用logback-spring.xml

在SpringBoot工程中,推荐使用logback-spring.xml来替换logback.xml  原因是SpringBoot加载logback.xml是在application.yml之前,所以在yml里面的信息不会被logback.xml所引用

application.yml配置内容

logging:
  path: E:/logs

logback-spring.xml配置内容

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">	
	<springProperty name="LOG_PATH" source="logging.path"/>
	<springProperty name="LOG_FILE" source="logging.file"/>
	
    <!-- 控制台输出 -->   
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
             <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> 
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>   
            <charset>UTF-8</charset>
        </encoder> 
    </appender>
    
    <!-- 按照每天生成日志文件 -->   
    <appender name="FILE"  class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <fileNamePattern>${LOG_PATH}/${LOG_FILE}-%d{yyyy-MM-dd}-%i.log</fileNamePattern> 
            <!--日志文件保留天数-->
            <maxHistory>90</maxHistory>
            <maxFileSize>50MB</maxFileSize>
        </rollingPolicy>   
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> 
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>   
        </encoder> 
    </appender> 
    
    <!--myibatis log configure--> 
    <logger name="com.apache.ibatis" level="TRACE"/>
    <logger name="java.sql.Connection" level="DEBUG"/>
    <logger name="java.sql.Statement" level="DEBUG"/>
    <logger name="java.sql.PreparedStatement" level="DEBUG"/>

    <!-- 日志输出级别 -->
    <root level="INFO">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root> 
</configuration>

 

发布了65 篇原创文章 · 获赞 23 · 访问量 5万+
展开阅读全文

Java Spring Boot 添加 logback.xml 报错

12-20

## 这是我的项目架构 ![项目架构](https://img-ask.csdn.net/upload/201712/20/1513749374_354432.png) ### 这是我的controller package com.hatom.dashitwelve.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class IndexController { //logback private final static Logger logger = LoggerFactory.getLogger(IndexController.class); /** * 访问首页 * @return */ @RequestMapping(value = "/index") public String index(){ logger.debug("记录debug日志"); logger.info("访问了index方法"); logger.error("记录error错误日志"); return "index"; } } ### 这是我的 logback.xml <?xml version="1.0" encoding="UTF-8" ?> <configuration debug="false"> <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--> <property name="LOG_HOME" value="./logs" /> <!--控制台输出--> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出 :%d 表示日期,%thread 表示线程名,%-5level 级别从左显示5个字符宽度,%msg 日志消息,%n 换行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> </appender> <!--按照每天生成日志文件--> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--日志文件输出的文件名--> <FileNamePattern>${LOG_HOME}/runtime.log.%d{yyyy-MM-dd}.log</FileNamePattern> <!--日志文件保留天数--> <MaxHistory>30</MaxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出 :%d 表示日期,%thread 表示线程名,%-5level 级别从左显示5个字符宽度,%msg 日志消息,%n 换行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> <!--日志文件最大的大小--> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <MaxFileSize>10MB</MaxFileSize> </triggeringPolicy> </appender> <!--日志输出级别--> <root level="INFO"> <appender_ref ref="STDOUT"/> <appender_ref ref="FILE"/> </root> </configuration> ### 控制台输出 ![图1](https://img-ask.csdn.net/upload/201712/20/1513751298_100903.png) ![图2](https://img-ask.csdn.net/upload/201712/20/1513751425_673615.png) ### 希望知情认士可以耐心解答,谢谢 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 精致技术 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览