1、日志分类
一、java自带(JDK Logging) 定义7个日志级别
SEVERE > WARING > INGO > CONFIG > FINE > FINER > FINEST
二、Commons Logging 定义6个日志级别
FATAL > ERROR > WARING >INFO > DEBUG > TRACE
三、Log4j 定义8个日志级别
OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL
2、log4j简单使用
一、使用jar
二、log4j2.xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Properties>
<Property name="log.pattern">%d{YYYY-MM-DD HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n</Property>
<Property name="file.all.filename">log/all.log</Property>
<Property name="file.all.pattern">log/all.%i.log.gz</Property>
<Property name="file.err.filename">log/err.log</Property>
<Property name="file.err.pattern">log/err.%i.log.gz</Property>
</Properties>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="${log.pattern}" />
</Console>
<RollingFile name="all" bufferedIO="true" fileName="${file.all.filename}" filePattern="${file.all.pattern}">
<PatternLayout pattern="${log.pattern}"/>
<Policies>
<SizeBasedTriggeringPolicy size="1 MB"/>
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
<RollingFile name="err" bufferedIO="true" fileName="${file.err.filename}" filePattern="${file.err.pattern}">
<PatternLayout pattern="${log.pattern}"/>
<Policies>
<SizeBasedTriggeringPolicy size="1 MB"/>
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="console" level="info"/>
<AppenderRef ref="all" level="info"/>
<AppenderRef ref="err" level="error"/>
</Root>
</Loggers>
</Configuration>
三、测试类
package com.log;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class LogTest {
static Log log = LogFactory.getLog(LogTest.class);
public static void main(String[] args) {
log.info("start........");
try {
int i = 1/0;
} catch (Exception e) {
log.error(e);
}
log.info("end........");
}
}
四、执行结果
all.log文件内容
2019-04-02 00:55:04,930 INFO com.log.LogTest 11 main - start........
2019-04-02 00:55:04,937 ERROR com.log.LogTest 15 main - java.lang.ArithmeticException: / by zero
2019-04-02 00:55:04,939 INFO com.log.LogTest 18 main - end........
err.log文件内容
2019-04-02 00:55:04,937 ERROR com.log.LogTest 15 main - java.lang.ArithmeticException: / by zero