准备开一大项目的话,日志系统必不可少。Log4j是Java平台上最好的日志组件了,Log4j 2升级了不少API,拓展性更好。
Log4j 2安装
最简单的一个测试
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class HelloWorld {
private static Logger logger = LogManager.getLogger("HelloWorld");
public static void main(String[] args) {
logger.debug("Will not show.");
logger.error("Hello, World!");
}
}
即可在控制台看到
20:35:34.712 [main] ERROR com.hankcs.Main - Hello, World!
配置文件log4j2.xml
默认的配置只将ERROR及以上级别的日志输出到控制台,可以通过在根目录建立一个log4j2.xml来自定义它:
然后来一段复杂一点的测试:
package com.hankcs;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
public class Main
{
public static org.apache.logging.log4j.Logger logger = LogManager.getLogger();
public static void main(String[] args)
{
add(1, 2);
}
public static int add(int a , int b)
{
logger.entry(a, b);
logger.info("我是info信息");
logger.warn("我是warn信息");
logger.error("我是error信息");
logger.fatal("我是fatal信息");
logger.printf(Level.TRACE, "%d+%d=%d", a, b, a + b);
logger.exit(a + b);
return a + b;
}
}
输出:
20:39:35.937 [main] TRACE com.hankcs.Main - entry params(1, 2)
20:39:35.938 [main] INFO com.hankcs.Main - 我是info信息
20:39:35.938 [main] WARN com.hankcs.Main - 我是warn信息
20:39:35.938 [main] ERROR com.hankcs.Main - 我是error信息
20:39:35.938 [main] FATAL com.hankcs.Main - 我是fatal信息
20:39:35.939 [main] TRACE com.hankcs.Main - 1+2=3
20:39:35.939 [main] TRACE com.hankcs.Main - exit with(3)
真优雅!
Log4j 2自定义配色
如果是eclipse的话,大概还能在控制台显示出不同的颜色吧,可惜IntelliJ IDEA的控制台不支持ASCII颜色。但是可以通过一个控制台配色插件Grep Console来实现,安装后更改配置为:
然后修改配置文件log4j2.xml为:
运行效果很美观: