在log4j 1.x的版本中,我们想将日志输出的文件中,需要很复杂的配置。这点已经在2.0的版本中得到了大大的改善。
简单的配置,以及灵活的应用,已经成为了一种趋势。不管我们以追加的形式写日志文件,还是覆盖的形式,配置他们都是小菜。
还有比如日志文件大小自动分割,自动备份,无死锁,高性能等等。更令人欣喜的是,它支持json格式的配置,加载快,轻巧,异步读写。
好吧,来看它的使用吧。
看配置文件log4j2.xml代码:
<?xml version="1.0" encoding="UTF-8"?> <Configuration> <Appenders> <!-- 配置日志输出文件名字 追加读写 --> <File name="A1" fileName="A1.log" append="true"> <!-- 输出格式 --> <PatternLayout pattern="%t %-5p %c{2} - %m%n"/> </File> <!-- 输出到控制台的配置 --> <Console name="STDOUT" target="SYSTEM_OUT"> <!-- 输出格式 --> <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> </Console> </Appenders> <Loggers> <!-- 记录器输出文件为debug级别 --> <!-- 根 控制台输出级别 --> <Root level="debug"> <AppenderRef ref="A1"/> <AppenderRef ref="STDOUT"/> </Root> </Loggers> </Configuration>
测试代码:
package com.herman.log4j2.test; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; /** * @see log4j 2.0 简单的配置使用一个文件Appender * @author Herman.Xiong * @date 2014年7月21日 14:32:55 */ public class Test1 { /** * 配置日志级别为debug,输出位置为控制台和文件 */ private static Logger log = LogManager.getLogger(Test0.class); public static void main(String[] args) { log.trace("trace"); log.debug("debug"); log.info("info"); log.warn("warn"); log.error("error"); log.fatal("fatal"); } }
欢迎大家关注我的个人博客!!!!
如有不懂,疑问或者欠妥的地方,请加QQ群:135430763 进行反馈,共同学习!
时间: 2024-10-06 00:43:33