zoukankan      html  css  js  c++  java
  • 通过LOGBACK实现每个类、包或自定义级别

    实现LOGBACK对每个包或者类或者通过自定义级别的方式实现自定义输出的日志进入制定的文件。查阅了很多资料,都没有找到行之有效的解决方案,直到看到了这篇文章http://www.360doc.com/content/14/1015/18/8072791_417222724.shtml  找到了解决方案。

    解决方案大体思路:正常来讲配置好LOGBACK后,在代码页面使用private static Logger logger = LoggerFactory.getLogger(*.class);的方式就可以直接输出日志

    logger.trace("======trace");
    logger.debug("======debug");
    logger.warn("======warn");
    logger.error("======error");

    但是!输出了很多我们不想要的无用信息,从海量的日志里找我们的输出如大海捞针。

    自定义日志级别方式如下:

    1、代码文件:Logger monitorLogger = LoggerFactory.getLogger("monitor");  //在声明实例时创建自定义级别标签,MOBITOR就是自定义的标签。

    2、代码文件:输出日志采用这样的方式monitorLogger.info("======info");

    3、配置文件:声明LOGGER的处理节点

     <logger name="monitor" additivity="false">
            <appender-ref ref="file—monitor"/>  
          </logger>   
     <!-- 时间滚动输出 level为 monitor 日志 -->
        <appender name="file—monitor"
            class="ch.qos.logback.core.rolling.RollingFileAppender">
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>INFO</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <FileNamePattern>D:/logs/monitor.%d{yyyy-MM-dd}.log</FileNamePattern>
                <MaxHistory>30</MaxHistory>
            </rollingPolicy>
            <encoder>
                <pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
            </encoder>
        </appender>

    保持JAVA代码实例标签MONITOR和配置文件中的LOGGER NAME属性一致即可

    通过如上代码的实现,就可以看到我们输出的INFO文件是独立的 并且没有系统的任何信息 都是自己指定输出的内容。

    ---------

    额外话题:今天为了解决这个问题查阅了很多资料,分享给其他人。

  • 相关阅读:
    进度条
    html5 表单新增事件
    html5 表单的新增type属性
    html5 表单的新增元素
    html5 语义化标签
    jq 手风琴案例
    codeforces 702D D. Road to Post Office(数学)
    codeforces 702C C. Cellular Network(水题)
    codeforces 702B B. Powers of Two(水题)
    codeforces 702A A. Maximum Increase(水题)
  • 原文地址:https://www.cnblogs.com/fan-yuan/p/5223844.html
Copyright © 2011-2022 走看看