我正在使用 Logback 套接字附加程序,一切正常,我可以从套接字获取日志。
我的场景是:我们有一个分布式应用程序,所有日志都将使用 SocketAppender 保存到日志服务器的日志文件中。我只是使用 Logback 中提供的 SimpleSocketServer 从所有应用程序获取日志。并且可以获取和保存日志。
但是,唯一的问题是,对于 socket appender,不能添加编码器,并且日志消息可能会被格式化为某种默认格式。但我必须以某种格式保存它们。
我能找到的一种方法是编写一个类似 SimpleSocketServer
的日志服务器,日志服务器将获取序列化对象( ILoggingEvent
),并自己格式化对象。
但是这样一来,就需要写太多的代码了。我认为应该有一种方便的方法来添加编码器。
最佳答案
我认为您无需担心序列化版本。您将在各种客户端 SocketAppender
消息上提供 String
。
然后,只要您 configure SimpleSocketServer
在其配置中使用所需的编码器,您的所有消息都应该在磁盘上采用正确的格式。
关于logback - 如何为套接字附加程序添加编码器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9882667/