Java 仅当日志事件处于警告或更严重级别时,才记录所有级别

Java 仅当日志事件处于警告或更严重级别时,才记录所有级别,java,logging,log4j2,logback,Java,Logging,Log4j2,Logback,如何仅在遇到错误、致命或警告级别日志事件时记录所有级别的事件(即信息、调试、跟踪、警告、错误和致命),否则仅记录信息级别。这可确保调试和跟踪日志(通常非常大)仅在必要时(即检测到警告或错误时)记录因此可以节省空间并加快性能。我建议您投票。我建议您投票。应该缓冲错误级别事件之前的多少日志事件,以便在错误级别事件发生时刷新它们?--在错误级别事件之后,应该记录多少或多长时间的日志事件?这基本上意味着您希望在队列中的内存中保留一个X日志事件,直到出现错误,然后刷新队列。或者,若并没有错误到达,那个么继

如何仅在遇到错误、致命或警告级别日志事件时记录所有级别的事件(即信息、调试、跟踪、警告、错误和致命),否则仅记录信息级别。这可确保调试和跟踪日志(通常非常大)仅在必要时(即检测到警告或错误时)记录因此可以节省空间并加快性能。

我建议您投票。

我建议您投票。

应该缓冲错误级别事件之前的多少日志事件,以便在错误级别事件发生时刷新它们?--在错误级别事件之后,应该记录多少或多长时间的日志事件?这基本上意味着您希望在队列中的内存中保留一个X日志事件,直到出现错误,然后刷新队列。或者,若并没有错误到达,那个么继续截断队列的尾部,只保留X个事件,而不保留更多。我不认为有现成的解决方案,您必须根据您实际使用的日志记录滚动自定义处理程序或其他内容。@Andreas没有这样的限制。之前的所有事件都必须以某种方式排队。如果在终止时我们还没有遇到错误级别,那么队列将被清除。如果我们遇到错误,将记录所有以前的日志以及遇到此类事件后的所有日志。@M.Prokhorov执行此操作的最佳方法是什么。是否有任何日志框架通过更改配置来提供这种功能。@AkshayGRao最佳方法:在启动时创建一个新的日志文件。在程序退出时,如果没有错误,请删除该文件。防止在缓存日志条目时浪费大量内存。创建一个自定义的
Appender
来实现这一点。在发生错误级别事件之前,应该缓冲多少个日志事件,以便在发生错误级别事件时刷新它们?--在错误级别事件之后,应该记录多少或多长时间的日志事件?这基本上意味着您希望在队列中的内存中保留一个X日志事件,直到出现错误,然后刷新队列。或者,若并没有错误到达,那个么继续截断队列的尾部,只保留X个事件,而不保留更多。我不认为有现成的解决方案,您必须根据您实际使用的日志记录滚动自定义处理程序或其他内容。@Andreas没有这样的限制。之前的所有事件都必须以某种方式排队。如果在终止时我们还没有遇到错误级别,那么队列将被清除。如果我们遇到错误,将记录所有以前的日志以及遇到此类事件后的所有日志。@M.Prokhorov执行此操作的最佳方法是什么。是否有任何日志框架通过更改配置来提供这种功能。@AkshayGRao最佳方法:在启动时创建一个新的日志文件。在程序退出时,如果没有错误,请删除该文件。防止在缓存日志条目时浪费大量内存。创建一个自定义的
Appender
来实现这一点。