spring boot 日志配置 logback-spring.xml

最近在学习spring boot相关,所以必然要了解日志文件的配置。

Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。 Logback是要与SLF4J结合起来用两个组件的官方网站如下:
logback的官方网站: http://logback.qos.ch

SLF4J的官方网站:http://www.slf4j.org

本文章用到的组件如下:请自行到官方网站下载!

logback-access-1.0.0.jar

logback-classic-1.0.0.jar

logback-core-1.0.0.jar

slf4j-api-1.6.0.jar

maven配置:

  
   ch.qos.logback  
   logback-classic  
1.0.11  

不多说 直接上我的配置,这样的配置是在开发过程中用的。
我这里使用spring扩展profile支持,所以日志名称为logback-spring.xml


  
  
 
<configuration>
    
    <property name="PATTERN"
        value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />
    
    

    
    <springProfile name="dev">
        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>${PATTERN}pattern>
            encoder>
        appender>

        <logger name="com.km.controller" level="debug" />

        <root level="info">
            <appender-ref ref="CONSOLE" />
        root>
    springProfile>

    
    <springProfile name="test">
        <appender name="ROLLING"
            class="ch.qos.logback.core.rolling.RollingFileAppender">
            
            <file>D:/DevData/kmAppletLogs/kmapplet.logfile>
            <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                
                <fileNamePattern>D:/DevData/kmAppletLogs/kmapplet_%d{yyyy-MM-dd}.%i.log
                fileNamePattern>
                
                <maxFileSize>1MBmaxFileSize>
                <maxHistory>60maxHistory>
                <totalSizeCap>10MBtotalSizeCap>
            rollingPolicy>
            
            <encoder>
                <pattern>${PATTERN}pattern>
            encoder>
        appender>

        <root level="DEBUG">
            <appender-ref ref="ROLLING" />
        root>
    springProfile>

    
    <springProfile name="prod">
        <appender name="ROLLING"
            class="ch.qos.logback.core.rolling.RollingFileAppender">
            
            <file>/ftp/private/kmAppletLogs/kmapplet.logfile>
            <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                
                <fileNamePattern>/ftp/private/kmAppletLogs/kmapplet_%d{yyyy-MM-dd}.%i.log
                fileNamePattern>
                
                
                <maxFileSize>10MBmaxFileSize>
                <maxHistory>30maxHistory>
                <totalSizeCap>5GBtotalSizeCap>
            rollingPolicy>
            
            <encoder>
                <pattern>${PATTERN}pattern>
            encoder>
        appender>

        
        <root level="DEBUG">
            <appender-ref ref="ROLLING" />
        root>
    springProfile>

configuration>

通过application.properties文件中 spring.profiles.active=test 来指定logback-spring.xml 中使用哪一段来记录日志 。
在需要记录日志的地方使用
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

private final Logger logger = (Logger) LoggerFactory.getLogger(this.getClass());
logger.info(“日志内容”);

这样就可以记录了,满足开发需要。
另在eclipse中可以在控制台打印彩色日志,如有需要可以自行百度搜索,个人感觉用处不大,这里不做说明。

你可能感兴趣的:(java-spring,spring-boot)