让Eclipse/MyEclipse的控制台和log4j日志支持多种颜色

开发SSH项目,log4j在控制台的输出日志只能是一种颜色,借助log4j的配置也只支持两种——默认err红和out黑,看着很不舒服。网上有资料说log4j 2支持颜色定义,没试过,毕竟不清楚ssh用的是什么版本,怕引起潜在问题。


最初感觉这个需求应该很普遍,网上一定会有很多解决方案。但找了很久,资料很少,而且照着做也没成功。于是到国外论坛找了些资料,最终成功了。有类似需求的java coder可以参考。


值得一提的是,此方法可用于任何基于Eclipse的Java程序,甚至其他编程语言


测试环境:MyEclipse 2014、SSH、log4j、JRebel 5.6.1

---------------------------------------------------------------------------------------

0、原理:

核心就是让Eclipse的控制台支持ANSI Escape Color——一种国际标准,使用特定字符表示颜色。即让Eclipse的Console对表示颜色的特定字符进行转义(Escape),而不要直接输出。例如:

public class HelloColor {
    public static void main(String [] args) {
        System.out.println("Hello \u001b[1;31mred\u001b[0m world!");
    }
}

1、为Eclipse/MyEclipse在线安装 ANSI Escape in Console 插件:




2、重启IDE,如下所示则表示成功




3、下载支持jar包,并拷贝到SSH工程的WEB-INF/lib下:

目前最新版是1.0.4.1,下载地址是:点击打开链接


注意,该jar依赖了log4j的1.2.17,因此lib下也要有log4j的jar包。


4、修改src下的log4j.properties:

<pre name="code" class="java"><span style="font-size: 16pt;"># ALL<DEBUG<INFO<WARN<ERROR<FATAL<OFF
log4j.rootLogger=INFO, CONSOLE

log4j.appender.CONSOLE=</span><span style="font-size:24px;color:#ff0000;"><strong>com.colorlog.log4j.AnsiColorConsoleAppender</strong></span><span style="font-size: 16pt;">
log4j.appender.CONSOLE.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-5p: %c{2} [%t] - %m%n

# You can change the default colors
# log4j.appender.CONSOLE.FatalColour={esc}[1;35m
# log4j.appender.CONSOLE.ErrorColour={esc}[0;31m
# log4j.appender.CONSOLE.WarnColour ={esc}[0;33m
# log4j.appender.CONSOLE.InfoColour ={esc}[1;32m
# log4j.appender.CONSOLE.DebugColour={esc}[1;36m
# log4j.appender.CONSOLE.TraceColour={esc}[1;30m</span>

 


5、启动工程,测试









  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值