您的位置:首页 > 编程语言 > Java开发

log4j2.1使用指南[一] java工程

2014-12-24 15:03 399 查看
在java工程下使用log4j2很简单,首先需要下载,地址为:logging.apache.org,然后选择log4j 2.x的版本进去下载就可以了。

需要用到的jar包:log4j-core-2.1.jar,log4j-api-2.1.jar

log4j2的使用也和1.x基本上差不多

private static Logger log = LogManager.getLogger(LogTest.class);

日志级别:

trace: 是追踪,就是程序推进以下,你就可以写个trace输出,所以trace应该会特别多,不过没关系,我们可以设置最低日志级别不让他输出。

    debug: 调试么,我一般就只用这个作为最低级别,trace压根不用。是在没办法就用eclipse或者idea的debug功能就好了么。

    info: 输出一下你感兴趣的或者重要的信息,这个用的最多了。

    warn: 有些信息不是错误信息,但是也要给程序员的一些提示,类似于eclipse中代码的验证不是有error 和warn(不算错误但是也请注意,比如以下depressed的方法)。

    error: 错误信息。用的也比较多。

    fatal: 级别比较高了。重大错误,这种级别你可以直接停止程序了。

日志调用方法:

public static void tests(){

for(int i=0;i<10000;i++){

log.trace("测试级别trace");

log.warn("测试级别:warn");

log.debug("方法测试");

log.error("方法发生错误,test");

}

}

控制台打印的日志信息为:

2014-12-24 14:30:58 CST ERROR org.test1.LogTest 13 tests - 方法发生错误,test

2014-12-24 14:30:58 CST WARN org.test1.LogTest 11 tests - 测试级别:warn

2014-12-24 14:30:58 CST DEBUG org.test1.LogTest 12 tests - 方法测试

2014-12-24 14:30:58 CST ERROR org.test1.LogTest 13 tests - 方法发生错误,test

2014-12-24 14:30:58 CST WARN org.test1.LogTest 11 tests - 测试级别:warn

2014-12-24 14:30:58 CST DEBUG org.test1.LogTest 12 tests - 方法测试

2014-12-24 14:30:58 CST ERROR org.test1.LogTest 13 tests - 方法发生错误,test

2014-12-24 14:30:58 CST WARN org.test1.LogTest 11 tests - 测试级别:warn

2014-12-24 14:30:58 CST DEBUG org.test1.LogTest 12 tests - 方法测试

2014-12-24 14:30:58 CST ERROR org.test1.LogTest 13 tests - 方法发生错误,test

log4j2的配置文件可以使用多种方法,包括xml/json等,这里使用的xml,xml的名称为log4j2.xml,路径位于src下,

<?xml version="1.0" encoding="UTF-8"?>

<!-- status="OFF",可以去掉,它的含义为是否记录log4j2本身的event信息,默认是OFF -->

<configuration status="OFF">

<!-- 定义下面的引用名 -->

<Properties>

<property name="log_pattern">%d{yyyy-MM-dd HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n</property>

<property name="file_name">logs/app.log</property>

<property name="rolling_file_name">logs/app-%d{yyyy-MM-dd}-%i.log.gz</property>

<property name="every_file_size">10M</property><!-- 日志切割的最小单位 -->

<property name="output_log_level">debug</property><!-- 日志输出级别 -->

</Properties>

<!--先定义所有的appender-->

<appenders>

<!--这个输出控制台的配置-->

<Console name="Console" target="SYSTEM_OUT">

<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->

<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>

<!--这个都知道是输出日志的格式-->

<PatternLayout pattern="${log_pattern}"/>

</Console>

<!--这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->

<!-- 按月生成归档日志,可以使用 filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz" -->

<RollingFile name="RollingFile" fileName="${file_name}"

filePattern="${rolling_file_name}">

<PatternLayout pattern="${log_pattern}"/>

<SizeBasedTriggeringPolicy size="${every_file_size}"/>

</RollingFile>

<!--如果需要配置多个Rollingfile地址,还需要在root下添加appender-ref ref="RollingFile1"/>

<RollingFile name="RollingFile1" fileName="logs/app1.log"

filePattern="logs/app1-%d{yyyy-MM-dd}-%i.log.gz">

<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>

<SizeBasedTriggeringPolicy size="10MB"/>

</RollingFile>

-->

</appenders>

<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->

<loggers>

<!--建立一个默认的root的logger,需要在root的level中指定输出的级别,-->

<root level="${output_log_level}">

<appender-ref ref="RollingFile"/>

<appender-ref ref="Console"/>

</root>

</loggers>

</configuration>

其中appender的解释,可以参照:http://blog.csdn.net/seven_zhao/article/details/42124073,写的很详细。

范例demo下载地址:http://download.csdn.net/detail/seven_zhao/8294653
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: