我已经阅读了2个小时的logback手册,仍然无法弄清楚如何做我需要的事情。
正如标题所说,这很简单:我想仅将错误日志记录到文件中,其他级别(包括ERROR)记录在控制台中。
这是我logcat.xml文件的根部分:
<root level="TRACE" >
<appender-ref ref="CONSOLE_APPENDER" />
<appender-ref ref="FILE_APPENDER" />
</root>
这个配置存在的问题是它会将所有大于等于TRACE级别的日志记录到两个appender中。我可以让根只使用控制台,并定义一个文件记录器。
<logger name='file_logger' level='ERROR' >
<appender-ref ref="FILE_APPENDER" />
</logger>
但是我现在必须这样调用普通的日志记录器:
LoggerFactory.getLogger(ClientClass.class);
而文件记录器像这样:
LoggerFactory.getLogger("file_logger");
我不想为每个类选择记录器,我只想使用类作为参数从工厂获取根记录器,并让它根据级别执行正确的操作。这可能吗?