Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在控制台中获取不带ANSI颜色序列的log4j的颜色日志_Java_Eclipse_Log4j - Fatal编程技术网

Java 在控制台中获取不带ANSI颜色序列的log4j的颜色日志

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控制台中是红色的,只是因为它打印在进程标准错误通道上。要

我想把log4j错误日志涂成红色

我已经浏览了一些建议如何做到这一点的链接,但是按照我在Eclipse或command console上看到的所有步骤,我看到的是类似于
[[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
)的内容。不知道这是否可能。。。