Java 如何在不更改代码的情况下降低日志严重性? 简短版本:

Java 如何在不更改代码的情况下降低日志严重性? 简短版本:,java,logging,slf4j,log4j2,Java,Logging,Slf4j,Log4j2,最好是在log4j2配置中,我如何记录Java代码使用的日志消息,以便记录为日志? 理想情况下,我希望在xml配置中这样做。我可以想象一种通过私有静态字段反射和定制的记录器实现来实现这一点的方法,但这似乎非常粗糙,而且是最后的手段 较长版本: 由于种种原因,这是一个完整的场景 我有使用SLF4J的第三方库,我还有一个工具,可以扫描我的日志并在出现错误时通知我 目前,第三方库记录的错误虽然在技术上是错误,但却是暂时的,并且已经具有重试逻辑。因此,这些日志有时会有点嘈杂。我还使用了另一种工具(它不以

最好是在log4j2配置中,我如何记录Java代码使用的日志消息,以便记录为日志?

理想情况下,我希望在xml配置中这样做。我可以想象一种通过私有静态字段反射和定制的
记录器
实现来实现这一点的方法,但这似乎非常粗糙,而且是最后的手段

较长版本: 由于种种原因,这是一个完整的场景

我有使用SLF4J的第三方库,我还有一个工具,可以扫描我的日志并在出现错误时通知我

目前,第三方库记录的错误虽然在技术上是错误,但却是暂时的,并且已经具有重试逻辑。因此,这些日志有时会有点嘈杂。我还使用了另一种工具(它不以任何方式使用我的日志),能够记录这些暂时性错误的发生,这样我就可以看到这些暂时性错误中是否有可能指示实际问题的尖峰。如果发生这种边缘情况,我希望日志中出现错误消息,以便调试问题


为了在大多数情况下降低日志扫描工具的噪音,但在需要时保留消息,我希望将库对
Logger.error
的调用记录为
Logger.info
。我如何才能做到这一点?

所以您希望将它们记录在不同的级别上?不关闭那些软件包的日志记录?什么?为什么?该错误应该只有一个错误级别,并且您的配置/筛选应该更改。它应该是错误,您应该在收集错误或信息之间切换。为什么错误级别会发生变化?您可以放入一些从配置中分配的变量,并将日志调用放入一个方法中,该方法在一个级别或另一个级别检查变量和日志。但我会确保你真的想要那个。@Kayaman是的,没错。我可以关闭这些软件包的登录,但对于边缘案例场景来说,这并不理想。不过,这是我目前的计划B。@SpacePrez我不能这样做,因为日志记录是从3p库内部调用的。如果这里的主要问题是日志太多,那么将该包的日志重定向到不同的日志文件/接收器不是更容易吗。如果您需要调试,那么您可以合并日志文件。那么您希望将它们记录在不同的级别吗?不关闭那些软件包的日志记录?什么?为什么?该错误应该只有一个错误级别,并且您的配置/筛选应该更改。它应该是错误,您应该在收集错误或信息之间切换。为什么错误级别会发生变化?您可以放入一些从配置中分配的变量,并将日志调用放入一个方法中,该方法在一个级别或另一个级别检查变量和日志。但我会确保你真的想要那个。@Kayaman是的,没错。我可以关闭这些软件包的登录,但对于边缘案例场景来说,这并不理想。不过,这是我目前的计划B。@SpacePrez我不能这样做,因为日志记录是从3p库内部调用的。如果这里的主要问题是日志太多,那么将该包的日志重定向到不同的日志文件/接收器不是更容易吗。如果需要调试,则可以合并日志文件。