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包中日志起作用。

  • 相关阅读:
    java Activiti 工作流引擎 SSM 框架模块设计方案
    自定义表单 Flowable 工作流 Springboot vue.js 前后分离 跨域 有代码生成器
    数据库设计的十个最佳实践
    activiti 汉化 stencilset.json 文件内容
    JAVA oa 办公系统模块 设计方案
    java 考试系统 在线学习 视频直播 人脸识别 springboot框架 前后分离 PC和手机端
    集成 nacos注册中心配置使用
    “感恩节 ”怼记
    仓颉编程语言的一点期望
    关于System.out.println()与System.out.print("\n")的区别
  • 原文地址:https://www.cnblogs.com/myf008/p/5948238.html
Copyright © 2011-2022 走看看