Java 在控制台中获取不带ANSI颜色序列的log4j的颜色日志
我想把log4j错误日志涂成红色 我已经浏览了一些建议如何做到这一点的链接,但是按照我在Eclipse或command console上看到的所有步骤,我看到的是类似于Java 在控制台中获取不带ANSI颜色序列的log4j的颜色日志,java,eclipse,log4j,Java,Eclipse,Log4j,我想把log4j错误日志涂成红色 我已经浏览了一些建议如何做到这一点的链接,但是按照我在Eclipse或command console上看到的所有步骤,我看到的是类似于[[31m INFO[m]的东西,而不是颜色。我想Eclipse和command for ANSI都需要插件 但我想知道是否有一种方法,我们不需要ANSI插件。 因为JavaSystem.err日志确实以红色显示在控制台中。发送到Java系统的所有文本。err在Eclipse控制台中是红色的,只是因为它打印在进程标准错误通道上。要
[[31m INFO[m]
的东西,而不是颜色。我想Eclipse和command for ANSI都需要插件
但我想知道是否有一种方法,我们不需要ANSI插件。
因为Java
System.err
日志确实以红色显示在控制台中。发送到Java系统的所有文本。err
在Eclipse控制台中是红色的,只是因为它打印在进程标准错误
通道上。要在Eclipse控制台中以红色显示Log4j日志,您应该告诉Log4j也使用这个标准错误通道l、 在Log4j配置文件中有这样一行:
log4j.appender.ConsoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.ConsoleAppender.Target=System.err
<appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
....
<param name="target" value="System.err"/>
....
</appender>
或者,如果您的配置文件是XML配置文件:
log4j.appender.ConsoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.ConsoleAppender.Target=System.err
<appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
....
<param name="target" value="System.err"/>
....
</appender>
....
....
我选中了将目标设置为“System.err”的选项,但这只会在eclipse中出错为红色,而在cmd提示符中运行时则不会。您能建议一些在两种情况下都有效的方法吗?对不起,我不知道如何同时使两个输出都变为红色,而不在eclipse输出中显示奇怪的字符(在真实外壳中用红色着色可能会在Eclipse中显示类似于[[31m
)的内容。不知道这是否可能。。。