Log4j2 使用示例

来源:互联网 发布:php和mysql放一起还是 编辑:程序博客网 时间:2024/05/16 02:20

ZZ http://blog.csdn.net/lu8000/article/details/25754415


项目开发记录log需要用到Log4j2,稍作笔记在此

首先需要添加两个包log4j-api-2.3.jar和log4j-core-2.3.jar, 然后如图所示到Hello类就可以编译通过。

然后需要一个配置文件log4j2.xml, 该文件需要放在LoggerTest的 java classpath下,其内容如下:

<?xml version="1.0" encoding="UTF-8"?><Configuration status="WARN">    <Appenders>        <Console name="Console" target="SYSTEM_OUT">            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>        </Console>        <File name="log" fileName="log/test.log" append="false">            <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %logger{36} %L %M - %msg%xEx%n"/>        </File>    </Appenders>    <Loggers>        <Root level="trace">            <AppenderRef ref="Console"/>            <AppenderRef ref="log"/>        </Root>    </Loggers></Configuration>

以上配置不仅会在console打印出log信息,还会新建一个log文件夹,将log信息输出到其下的test.log文件中,
<File name="log" fileName="log/test.log" append="false">
表示每次run程序,test.log原来到内容都会先被清空,然后重新写入。

log4j规定了默认的几个级别:trace<debug<info<warn<error<fatal等,以上到配置文件中Root_level="trace",表示trace及比它级别高的log信息都会被输出。用户可以通过修改配置文件决定输出哪些l类型到配置信息。


如果将以上示例程序工程打包成LoggerTest.jar,放在当前目录下,且log4j2.xml也放在当前目录下,log4j-api-2.3.jar和log4j-core-2.3.jar在repos0.2/d2db/3rdParty-libs/下,那么运行java -cp .:LoggerTest.jar:repos0.2/d2db/3rdParty-libs/* Hello不仅会在terminal上打印出log信息,还会在当前目录新建一个log文件夹,将log信息输出到其下的test.log文件中。


test.log内容及格式如下:

时间   log信息类型   类名   该类源码文件第N行   函数名  -  具体log信息

14:36:49.679 TRACE Hello 11 main - entry
14:36:49.680 ERROR Hello 12 main - Did it again!
14:36:49.680 INFO  Hello 13 main - 我是info信息
14:36:49.680 DEBUG Hello 14 main - 我是debug信息
14:36:49.680 WARN  Hello 15 main - 我是warn信息
14:36:49.680 FATAL Hello 16 main - 我是fatal信息
14:36:49.680 DEBUG Hello 17 main - 我是debug信息
14:36:49.681 TRACE Hello 18 main - exit



0 0
原创粉丝点击