如何使用SLF4J根据消息类型登录到两个不同的文件..?

时间:2011-08-10 10:57:41

标签: spring slf4j logback

我在春天运行客户端服务器程序。 我正在尝试实施SLF4J + Logback进行日志记录。

现在我的客户端(在现实生活中将是一个设备/传感器)将以字符串格式向我发送数据,其中包含以逗号分隔的各种字段。精确模式如下:deviceID,DeviceName,DeviceLocation,TimeStamp, someValue中

现在我想要的是使用deviceID过滤Logback中的消息,然后将整个字符串写入文件,其名称类似于device.log,例如1,indyaah,Scranton,2011-8-10 12:00:00 ,34应该动态登录到文件device1.log。 那么如何在logback / janino中使用evaluateFilter。

提前致谢。

1 个答案:

答案 0 :(得分:6)

Logback提供了开箱即用的所有功能。您需要了解SiftingAppender,可能还需要了解MDC

SiftingAppender包装了几个同类appender,并根据用户定义的条件(称为 distriminator )为每个日志消息选择一个。文档非常好,它有一些很好的例子。