Log4j 2配置与IntelliJ IDEA控制台颜色

原文地址:http://www.hankcs.com/program/java/log4j-2-console-color-configuration-with-intellij-idea.html

准备开一大项目的话,日志系统必不可少。Log4j是Java平台上最好的日志组件了,Log4j 2升级了不少API,拓展性更好。

Log4j 2安装

需要两个Jar即可:log4j-api-2.0-rc1.jar和log4j-core-2.0-rc1。像我这样的强迫症患者还得捎上doc和sources才行。

最简单的一个测试


  
  
  1. import org.apache.logging.log4j.LogManager;
  2. import org.apache.logging.log4j.Logger;
  3.  
  4. public class HelloWorld {
  5.     private static Logger logger = LogManager.getLogger("HelloWorld");
  6.     public static void main(String[] args) {
  7.         logger.debug("Will not show.");
  8.         logger.error("Hello, World!");
  9.     }
  10. }

即可在控制台看到


  
  
  1. 20:35:34.712 [main] ERROR com.hankcs.Main - Hello, World!

配置文件log4j2.xml

默认的配置只将ERROR及以上级别的日志输出到控制台,可以通过在根目录建立一个log4j2.xml来自定义它:


  
  
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration status="OFF">
  3.     <appenders>
  4.         <Console name="Console" target="SYSTEM_OUT">
  5.             <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
  6.         </Console>
  7.     </appenders>
  8.     <loggers>
  9.         <root level="trace">
  10.             <appender-ref ref="Console"/>
  11.         </root>
  12.     </loggers>
  13. </configuration>

然后来一段复杂一点的测试:


  
  
  1. package com.hankcs;
  2.  
  3. import org.apache.logging.log4j.Level;
  4. import org.apache.logging.log4j.LogManager;
  5.  
  6. public class Main
  7. {
  8.     public static org.apache.logging.log4j.Logger logger = LogManager.getLogger();
  9.     public static void main(String[] args)
  10.     {
  11.         add(1, 2);
  12.     }
  13.  
  14.     public static int add(int a , int b)
  15.     {
  16.         logger.entry(a, b);
  17.         logger.info("我是info信息");
  18.         logger.warn("我是warn信息");
  19.         logger.error("我是error信息");
  20.         logger.fatal("我是fatal信息");
  21.         logger.printf(Level.TRACE, "%d+%d=%d", a, b, a + b);
  22.         logger.exit(+ b);
  23.         return a + b;
  24.     }
  25. }

输出:


  
  
  1. 20:39:35.937 [main] TRACE com.hankcs.Main - entry params(1, 2)
  2. 20:39:35.938 [main] INFO  com.hankcs.Main - 我是info信息
  3. 20:39:35.938 [main] WARN  com.hankcs.Main - 我是warn信息
  4. 20:39:35.938 [main] ERROR com.hankcs.Main - 我是error信息
  5. 20:39:35.938 [main] FATAL com.hankcs.Main - 我是fatal信息
  6. 20:39:35.939 [main] TRACE com.hankcs.Main - 1+2=3
  7. 20:39:35.939 [main] TRACE com.hankcs.Main - exit with(3)

真优雅!

Log4j 2自定义配色

如果是eclipse的话,大概还能在控制台显示出不同的颜色吧,可惜IntelliJ IDEA的控制台不支持ASCII颜色。但是可以通过一个控制台配色插件Grep Console来实现,安装后更改配置为:

然后修改配置文件log4j2.xml为:

 
 
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration status="OFF">
  3.     <appenders>
  4.         <Console name="Console" target="SYSTEM_OUT">
  5.             <PatternLayout pattern="%highlight{%d{HH:mm:ss.SSS} %-5level %logger{36}.%M() @%L - %msg%n}{FATAL=Bright Red, ERROR=Bright Magenta, WARN=Bright Yellow, INFO=Bright Green, DEBUG=Bright Cyan, TRACE=Bright White}"/>
  6.         </Console>
  7.     </appenders>
  8.     <loggers>
  9.         <root level="trace">
  10.             <appender-ref ref="Console"/>
  11.         </root>
  12.     </loggers>
  13. </configuration>

运行效果很美观:

这里我为每种颜色都加了Bright属性,不然的话字体不一样会很难受的。自定义颜色请参考http://logging.apache.org/log4j/2.x/manual/layouts.html


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值