Pan*_*hul 15 java logging slf4j
我正在使用slf4j登录我的Java应用程序.它涉及大量的日志记录和日志监控.
当整个日志以黑色打印时,有时很难从日志中读取和查找信息.
只是为了使其更具可读性,是否可以以不同的颜色记录不同类型的消息?
例如,红色或不同字体大小的所有错误级别消息以及蓝色和不同字体大小的所有信息级别消息.
欢迎任何建议或帮助.日Thnx.
无法更改slf4j日志记录的颜色,因为没有格式化程序。SLF4J 是您的应用程序和某些日志记录工具(例如 Log4j 或 Logback)之间的中间件。
您可以更改 Log4j 输出中的颜色,如此处所述。我建议使用jcabi-log中的MulticolorLayout
有件事你必须牢记在心。
首先,SLF4J 只是一个日志门面。实际日志消息的处理方式取决于它使用的绑定。因此你的问题是无效的,相反,你应该引用你想要使用的实现(LogBack?Log4J?等)
其次,“着色”在大多数情况下并没有什么意义。例如,如果您引用纯文本日志文件,我们无法控制颜色,因为它们都是纯文本(除非您的编辑器针对您的日志消息格式内置了特殊的语法突出显示)。如果您想在控制台/终端中查看颜色,或者如果您将日志输出为允许包含颜色信息的文件格式(例如 HTML),则这可能很有意义。
考虑到这两个想法,这是我的建议。
LogBack 内置支持在控制台输出中对http://logback.qos.ch/manual/layouts.html#coloring进行着色。如果您正在寻找在控制台输出中查看颜色的方法,并且您可以使用 LogBack,那么这就是您正在寻找的。
我想到了两种解决方案。它们不是颜色,而是替代解决方案:
在文件附加器配置中,您可以配置模式以包含日志级别(错误、警告等)。然后您可以 grep 该文件,按级别过滤消息。
您可以配置具有不同级别阈值的两个文件附加程序(用于两个单独的日志文件)。例如,一个会将调试级别以上的所有日志(例如信息、警告、错误)记录到logs.txt中,另一个将仅将错误日志记录到errors.txt中
希望能帮助到你。