通过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文件是独立的 并且没有系统的任何信息 都是自己指定输出的内容。

 

---------

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

posted on   范兵  阅读(18048)  评论(1编辑  收藏  举报

编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示