我是一名有用的助手,可以为您翻译文本。
问题是我每秒钟都会收到这条消息。这个异常消息会淹没我的日志文件,所以在N小时内我的日志文件会有几个GB。
我希望每1-5分钟只有一条关于这个异常的日志消息。有没有办法忽略日志文件中的异常重复?
可能的解决方案:
1. 忽略特定包和类的所有日志。 [不好,因为我可能会跳过重要的消息]
2. 使用http://logback.qos.ch/manual/filters.html#DuplicateMessageFilter [不好,因为我只能设置AllowedRepetitions或CacheSize属性。它将匹配所有消息,但我只需要特定的异常]
3. 编写自定义过滤器 也许你已经知道实现的解决方案了吗?
我需要处理日志中特定异常的重复问题。
我在我的应用程序中使用slf4j和logback进行日志记录。我使用一些外部服务(DB、apache kafka、第三方库等)。当与这些服务的连接丢失时,我会收到异常,例如:
[kafka-producer-network-thread | producer-1] WARN o.a.kafka.common.network.Selector - Error in I/O with localhost/127.0.0.1
java.net.ConnectException: Connection refused: no further information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_45]
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[na:1.8.0_45]
at org.apache.kafka.common.network.Selector.poll(Selector.java:238) ~[kafka-clients-0.8.2.0.jar:na]
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:192) [kafka-clients-0.8.2.0.jar:na]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:191) [kafka-clients-0.8.2.0.jar:na]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:122) [kafka-clients-0.8.2.0.jar:na]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
问题是我每秒钟都会收到这条消息。这个异常消息会淹没我的日志文件,所以在N小时内我的日志文件会有几个GB。
我希望每1-5分钟只有一条关于这个异常的日志消息。有没有办法忽略日志文件中的异常重复?
可能的解决方案:
1. 忽略特定包和类的所有日志。 [不好,因为我可能会跳过重要的消息]
2. 使用http://logback.qos.ch/manual/filters.html#DuplicateMessageFilter [不好,因为我只能设置AllowedRepetitions或CacheSize属性。它将匹配所有消息,但我只需要特定的异常]
3. 编写自定义过滤器 也许你已经知道实现的解决方案了吗?