Log4j详细介绍----Log4j快速入门
Posted 金阳光测试
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Log4j详细介绍----Log4j快速入门相关的知识,希望对你有一定的参考价值。
Log4j是目前运用最广泛的日志控件,它把日志分为ALL,TRACE(跟踪),DEBUG( 调试),INFO(信息),WARNING(警告),ERROR(错误),FITAL(致命),OFF等几个级别,级别依次升高.级别高的Level会屏蔽级别低的信息.如果设置为WARNING,则TRACE,DEBUG,INFO都不会输出。Log4j的使用非常简单
import org.apache.log4j.Logger;
public class Log4jTest {
public static Logger log = Logger.getLogger(Log4jTest.class);
public static void main(String[] args) {
log.trace("trace信息");
log.debug("debug信息");
log.info("info信息");
log.warn("warn信息");
log.error("errof信息");
log.fatal("fatal信息");
try {
String s = null;
s.length();
} catch (Exception e) {
log.trace("trace一个异常", e);
log.debug("debug一个异常", e);
log.info("info一个异常", e);
log.warn("warn一个异常", e);
log.error("error一个异常", e);
log.fatal("fatal一个异常", e);
}
}
}
日志配置如输出级别,输出到哪儿,输出什么附加信息,输出格式等,一般都写在配置文件log4j.properties中。Log4j默认的配置文件为log4j.properties.启动时,会加载classpath下的log4j.properties初始化log4j。如果文件不存在,Log4j会在控制台打印如下信息,提示没有找到Log4j配置
1 log4j:WARN No appenders could be found for logger (com.log4j.test2.Log4jTest).2 log4j:WARN Please initialize the log4j system properly.
下面是log4j.properties的配置
# ERROR级别,输出到A1
log4j.rootLogger=DEBUG, A1
# 定义A1为控制台输出
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
#定义输出格式
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%C]-[%p] %m%n
如果不适用默认的文件名log4j.properties,可用使用PropertyConfigurator指定配置文件路径,例如:
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class Log4jConfigTest {
public static Logger log = Logger.getLogger(Log4jConfigTest.class);
public static void main(String[] args) {
PropertyConfigurator.configure("src/log4jConfigTest.properties");
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
if (log.isDebugEnabled())
log.debug("开始计算 " + i + " * " + j + " 次运算");
// 或者
// if (log.isEnabledFor(Priority.WARN))
// log.warn("开始计算 " + i + " * " + j + " 次运算");
}
}
new Thread(new Runnable() {
public void run() {
// log.error("debug 级别的输出");
log.error("ERROR 级别的输出");
}
}).start();
// log.error("debug 级别的输出");
log.info("INFO 级别的输出");
log.warn("WARN 级别的输出");
log.error("ERROR 级别的输出");
try {
String s = null;
s.length();
} catch (Exception e) {
log.error(e, e);
}
}
}
Log4j也可以使用XML文件配置,例如:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<!-- 根logger的设置 -->
<root>
<priority value="all" />
<appender-ref ref="console" />
</root>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-d{yyyy-MM-dd HH\:mm\:ss,SSS} [%C]-[%p] %m%n" />
</layout>
</appender>
</log4j:configuration>
输出结果
2013-06-06 17:40:36,042 [com.log4j.test2.Log4jTest]-[DEBUG] debug信息
2013-06-06 17:40:36,045 [com.log4j.test2.Log4jTest]-[INFO] info信息
2013-06-06 17:40:36,045 [com.log4j.test2.Log4jTest]-[WARN] warn信息
2013-06-06 17:40:36,046 [com.log4j.test2.Log4jTest]-[ERROR] errof信息
2013-06-06 17:40:36,046 [com.log4j.test2.Log4jTest]-[FATAL] fatal信息
2013-06-06 17:40:36,048 [com.log4j.test2.Log4jTest]-[DEBUG] debug一个异常
java.lang.NullPointerException
at com.log4j.test2.Log4jTest.main(Log4jTest.java:17)
2013-06-06 17:40:36,051 [com.log4j.test2.Log4jTest]-[INFO] info一个异常
java.lang.NullPointerException
at com.log4j.test2.Log4jTest.main(Log4jTest.java:17)
2013-06-06 17:40:36,051 [com.log4j.test2.Log4jTest]-[WARN] warn一个异常
java.lang.NullPointerException
at com.log4j.test2.Log4jTest.main(Log4jTest.java:17)
2013-06-06 17:40:36,051 [com.log4j.test2.Log4jTest]-[ERROR] error一个异常
java.lang.NullPointerException
at com.log4j.test2.Log4jTest.main(Log4jTest.java:17)
2013-06-06 17:40:36,052 [com.log4j.test2.Log4jTest]-[FATAL] fatal一个异常
java.lang.NullPointerException
at com.log4j.test2.Log4jTest.main(Log4jTest.java:17)
Log4j的使用非常灵活,功能也很强大。可以配置文件中配置输出样式,可以吧日志输出到屏幕,控制台,各种样式的文件,数据库,FTP 服务器,HTTP 服务器,远程实时监控程序,系统日志,发送邮件到指定的邮箱,甚至发送信息。这些会在后面捡到,好了以上就是Log4j的快速入门,很简单吧.
长按二维码-识别图中二维码
加入免费公益分享的大家庭吧!
让我们一起学习,快速成长。
长按二维码-识别图中二维码
小编:小夕
以上是关于Log4j详细介绍----Log4j快速入门的主要内容,如果未能解决你的问题,请参考以下文章
log4jspringboot项目启动 ,使用的druid数据源,log4j报错 log4j:WARN Please initialize the log4j system properly.(代码片