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

标签 spring slf4j logback

我在 Spring 运行一个客户端服务器程序。
我正在尝试实现 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 中使用评估过滤器。

提前致谢。

最佳答案

Logback 提供了开箱即用的所有功能。您需要了解 SiftingAppender 可能 MDC .
SiftingAppender包装多个同类 appender,并根据用户定义的标准(称为 distriminator)为每个日志消息选择一个。该文档非常好,并且有一些不错的示例。

关于spring - 如何使用 SLF4J 根据 msg.. 的类型登录到两个不同的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7009693/

相关文章:

Spring启动java.lang.NoClassDefFoundError : org/springframework/orm/jpa/support/PersistenceAnnotationBeanPostProcessor

java - SpringBootServletInitializer 和 @ConfigurationProperties 不适用于 .war 部署上的根属性

scala - 如何使用 SBT 和 Scala 在开发和生产中正确管理 logback 配置?

java - maven构建的可执行Jar找不到logback.xml

java - 无法 Autowiring Spring

spring - 使用 Spring Controller 从使用 JavaScript 生成的表单提交列表

java - SLF4J 的 NoSuchMethodError

java - Apache Felix OSGI 安装依赖项

java - slf4j/log4j : disabling console output when console is inappropriate

java - 使用 logback,但不知何故 log4j 被初始化