zoukankan      html  css  js  c++  java
  • logback配置

    一、例子

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration debug="false" scan="false">
        <property name="appName" value="phystrixDemo" />   
        <property name="logbase" value="./logs" />   
        <contextName>${appName}</contextName> 
        
        <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>
                    %d{yyyy-MM-dd HH:mm:ss.SSS},%-5level,%logger{72} - %msg%n
                </pattern>
            </encoder>
        </appender>
    
        <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <Encoding>UTF-8</Encoding>
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>ERROR</level>
            </filter>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${logbase}/${appName}/error_%d{yyyy-MM-dd}.%i.log
                </fileNamePattern>
                <maxHistory>10</maxHistory>
                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>5MB</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>
            <encoder>
                <pattern>
                    %d{yyyy-MM-dd HH:mm:ss.SSS},%-5level,%logger{72} - %msg%n
                </pattern>
            </encoder>
        </appender>
    
        <appender name="phstrix" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <Encoding>UTF-8</Encoding>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${logbase}/${appName}/phstrix_%d{yyyy-MM-dd}.%i.log
                </fileNamePattern>
                <maxHistory>10</maxHistory>
                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>5MB</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>
            <encoder>
                <pattern>
                    %d{yyyy-MM-dd HH:mm:ss.SSS},%-5level,%logger{72} - %msg%n
                </pattern>
            </encoder>
        </appender>
            
    
        <root level="info">
            <appender-ref ref="console" />
        </root>
    
        <logger name="com.phystrix" level="INFO" additivity="false">
            <appender-ref ref="console" />
            <appender-ref ref="phstrix" />
            <appender-ref ref="error" />
        </logger>
        <logger name="com.guard.phystrix" level="INFO" additivity="false">
            <appender-ref ref="console" />
            <appender-ref ref="phstrix" />
            <appender-ref ref="error" />
        </logger>
    
    </configuration>

    二、日志路径

    1. logback默认路径为“启动进程”的目录下面,如果程序直接在eclipse里跑,就会输出到eclipse.exe所在的目录下,如果是在tomcat中跑,就会输出到%TOMCAT_HOME%/bin目录下 

    2. 配置绝对路径的话,日志就输出到对应的路径,配置相对路径(如:./logs)会输出到默认路径。

    三、第三方jar包中日志问题

    1.logback的上下文环境是一个web应用,且一个应用只有一个日志上下文环境,即应用里的logback起作用,jar包中如果也同时配置了logback,则jar包中的日志不起作用,可通过下面两种方法解决:

    a. 可在war包中的logback中添加jar包相应的logger。

    b. 或者在jar包中获得root logger:

    Logger log = LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);

    并且在war包中设置root lever到相应的输出地方

    2. war包中没配置logback,jar包中配置了logback,则jar包中日志起作用。

  • 相关阅读:
    zoj 1239 Hanoi Tower Troubles Again!
    zoj 1221 Risk
    uva 10192 Vacation
    uva 10066 The Twin Towers
    uva 531 Compromise
    uva 103 Stacking Boxes
    稳定婚姻模型
    Ants UVA
    Golden Tiger Claw UVA
    关于upper、lower bound 的探讨
  • 原文地址:https://www.cnblogs.com/myf008/p/5948238.html
Copyright © 2011-2022 走看看