【发布时间】:2012-02-20 19:35:46
【问题描述】:
我目前正在处理一个 Java 项目,我们正在使用日志记录。生成日志时,无论日志记录级别如何(INFO、ERROR 等),它始终以纯黑色文本打印
如何覆盖这些输出的颜色,例如,所有 ERROR 日志都将为红色,而所有 WARN 日志将为橙色等。
谢谢
编辑:我设法下载了 ANSIColorLayout 文件,我的 log4j.properties 现在引用它。但是我收到以下错误:
log4j:WARN No such property [all] in org.apache.log4j.ConsoleAppender.
log4j:WARN No such property [reset] in org.apache.log4j.ConsoleAppender.
log4j:WARN No such property [stacktrace] in org.apache.log4j.ConsoleAppender.
log4j:WARN No such property [info] in org.apache.log4j.ConsoleAppender.
log4j:WARN No such property [error] in org.apache.log4j.ConsoleAppender.
log4j:WARN No such property [defaultcolor] in org.apache.log4j.ConsoleAppender.
我的 log4j.properties 文件如下所示:
log4j.rootLogger = DEBUG, CA, FA
log4j.appender.CA = org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout = balle.logging.ANSIColorLayout
log4j.appender.CA.layout.ConversionPattern=%-5p [%d{MM-dd-yyyy HH:mm:ss}] %c - %m%n
log4j.appender.CA.all=\u001B[1;37m log4j.appender.A1.fatal=\u001B[1;31m
log4j.appender.CA.error=\u001B[0;31m log4j.appender.A1.warn=\u001B[1;33m
log4j.appender.CA.info=\u001B[0;37m log4j.appender.A1.debug=\u001B[0;36m
log4j.appender.CA.reset=\u001B[1;37m
log4j.appender.CA.stacktrace=\u001B[0;31m
log4j.appender.CA.defaultcolor=\u001B[1;37m
我的猜测是我应该使用自己的自定义 ConsoleAppender?有人有什么想法吗?
谢谢
【问题讨论】: