Log4j 2配置与IntelliJ IDEA控制台颜色
Posted 富的只剩下代码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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才行。
最简单的一个测试
- 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来自定义它:
- <?xml version="1.0" encoding="UTF-8"?>
- <configuration status="OFF">
- <appenders>
- <Console name="Console" target="SYSTEM_OUT">
- <PatternLayout pattern="%dHH:mm:ss.SSS [%t] %-5level %logger36 - %msg%n"/>
- </Console>
- </appenders>
- <loggers>
- <root level="trace">
- <appender-ref ref="Console"/>
- </root>
- </loggers>
- </configuration>
然后来一段复杂一点的测试:
- 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为:
运行效果很美观:
这里我为每种颜色都加了Bright属性,不然的话字体不一样会很难受的。自定义颜色请参考http://logging.apache.org/log4j/2.x/manual/layouts.html
以上是关于Log4j 2配置与IntelliJ IDEA控制台颜色的主要内容,如果未能解决你的问题,请参考以下文章
解决IntelliJ IDEA控制台乱码问题[包含程序运行时的log4j日志以及tomcat日志乱码]