首页 > 代码库 > logback.xml配置示例

logback.xml配置示例

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>

    <!--在没有定义${LOG_HOME}系统变量的时候,可以设置此本地变量。提交测试、上线时,要将其注释掉,使用系统变量。-->
    <!-- 本地环境  
    <property name="LOG_HOME" value="C:/logs" />-->
    <!-- 内测环境 
    <property name="LOG_HOME" value="http://www.mamicode.com/opt/logs" /> -->
    <!-- SIT环境 
    <property name="LOG_HOME" value="http://www.mamicode.com/home/application/webapps/logs" />
    -->
    
    <!-- 应用名称:和统一配置中的项目代码保持一致(小写) -->
    <property name="APP_NAME" value="msweb"/>
    <!--日志文件保留天数-->
    <property name="LOG_MAX_HISTORY" value="30"/>
    <!--应用日志文件保存路径-->
    <property name="LOG_APP_HOME" value="${LOG_HOME}/${APP_NAME}/app"/>
    <!--系统日志文件保存路径-->
    <property name="LOG_SYS_HOME" value="${LOG_HOME}/${APP_NAME}/sys"/>
    
    
    
    <!-- 控制台输出日志 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{userId},%X{vtId}] %-5level %logger{36} -%msg%n</pattern>
        </layout>
    </appender>
    
    <!-- applcation的文件输出日志 (按照每天生成日志文件 ),对applcation文件日志的文件名需要根据具体的applcation来配置-->
    <appender name="APP"  class="ch.qos.logback.core.rolling.RollingFileAppender"> 
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${LOG_APP_HOME}/saic-project.log.%d{yyyy-MM-dd}</FileNamePattern> 
            <!--日志文件保留天数-->
            <MaxHistory>${LOG_MAX_HISTORY}</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] [%X{userId},%X{vtId}] %-5level %logger{50} - %msg%n</pattern>   
        </encoder> 
    </appender>
    
    <!-- framework的文件输出日志 (按照每天生成日志文件 )-->   
    <appender name="FRAME"  class="ch.qos.logback.core.rolling.RollingFileAppender"> 
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${LOG_SYS_HOME}/framework.log.%d{yyyy-MM-dd}</FileNamePattern> 
            <!--日志文件保留天数-->
            <MaxHistory>${LOG_MAX_HISTORY}</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> 
    </appender>

    <root level="info">
        <appender-ref ref="APP" />
        <appender-ref ref="STDOUT" />
    </root> 
    
    <!-- 设置freemarker日志 -->
    <logger name="org.springframework.web" level="info" additivity="false"> 
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FRAME" />
    </logger>
    
    
    <!-- framework logger,使用 FRAME -->   
    <logger name="com.ibm.framework" level="info" additivity="false"> 
        <appender-ref ref="FRAME" />
    </logger>    
</configuration>

 

logback.xml配置示例