记录不同级别的不同文件 [英] Logback different files for different levels

查看:103
本文介绍了记录不同级别的不同文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在logback.xml中有这个appender

I have this appender in my logback.xml

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <File>logFile.log</File>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <FileNamePattern>logFile.%d{yyyy-MM-dd}.log</FileNamePattern>
        <maxHistory>5</maxHistory>
    </rollingPolicy>

    <layout class="ch.qos.logback.classic.PatternLayout">
        <Pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{35} - %msg%n</Pattern>
    </layout>
</appender> 

<root>
    <level value="ALL" />
    <appender-ref ref="FILE" />
</root>

所以目前我将所有日志保存到一个文件中。我怎么能这样做,一个文件只保存错误日志而另一个文件保存所有其他文件?

So at the moment I am saving all my logs to one file. How can I make it like, one file saves only error logs and other saves all other?

我想在我的代码中只使用一个logger实例,像这样:

And I want to keep using only 1 instance of logger in my code, something like this:

 private static final Logger log = LoggerFactory.getLogger(Main.class);


推荐答案

开始寻找回溯类别,找到过滤器。

Started looking for logback categories, found filters.

只需将过滤器描述添加到您的appender:

Just add filter description to your appender:

    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>ERROR</level>
        <onMatch>ACCEPT</onMatch>
        <onMismatch>DENY</onMismatch>
    </filter>

这篇关于记录不同级别的不同文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆