首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改日志输出log4j的颜色

如何更改日志输出log4j的颜色
EN

Stack Overflow用户
提问于 2012-02-21 03:35:46
回答 1查看 17.1K关注 0票数 12

我目前正在做一个Java项目,我们正在使用日志记录。生成日志时,无论日志级别如何(信息、错误等),它始终以纯黑色文本打印。

如何覆盖这些输出的颜色,例如,所有错误日志都是红色的,而所有警告日志都是橙色的,等等。

谢谢

编辑:我设法下载了ANSIColorLayout文件,我的log4j.properties现在引用了它。然而,我得到了以下错误:

代码语言:javascript
复制
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文件如下所示:

代码语言:javascript
复制
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?有谁有什么想法吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-21 03:47:23

您可以下载各种ANSIColorLayout.java实现之一。这些“颜色记录器”通过扩展PatternLayout类来工作。

然后,您可以简单地在您的log4j属性中执行以下操作:

代码语言:javascript
复制
log4j.appender.stdout.layout=com.acme.ANSIColorLayout

下面是一个可供使用的ANSIColorLayout.java链接:

http://code.google.com/p/a-distributed-file-system/source/browse/trunk/DistributedFileSystem/ui/net/dfs/ui/ANSIColorLayout.java

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9367305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档