Log4j详细介绍(一)----Log4j快速入门
2013-06-06 17:46
337 查看
Log4j是目前运用最广泛的日志控件,它把日志分为ALL,TRACE(跟踪),DEBUG( 调试),INFO(信息),WARNING(警告),ERROR(错误),FITAL(致命),OFF等几个级别,级别依次升高.级别高的Level会屏蔽级别低的信息.如果设置为WARNING,则TRACE,DEBUG,INFO都不会输出。Log4j的使用非常简单
日志配置如输出级别,输出到哪儿,输出什么附加信息,输出格式等,一般都写在配置文件log4j.properties中。Log4j默认的配置文件为log4j.properties.启动时,会加载classpath下的log4j.properties初始化log4j。如果文件不存在,Log4j会在控制台打印如下信息,提示没有找到Log4j配置
下面是log4j.properties的配置
如果不适用默认的文件名log4j.properties,可用使用PropertyConfigurator指定配置文件路径,例如:
Log4j也可以使用XML文件配置,例如:
输出结果
Log4j的使用非常灵活,功能也很强大。可以配置文件中配置输出样式,可以吧日志输出到屏幕,控制台,各种样式的文件,数据库,FTP 服务器,HTTP 服务器,远程实时监控程序,系统日志,发送邮件到指定的邮箱,甚至发送信息。这些会在后面捡到,好了以上就是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配置
log4j:WARN No appenders could be found for logger (com.log4j.test2.Log4jTest). 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的快速入门,很简单吧.
相关文章推荐
- Hibernate快速入门—新手Hibernate详细配置步骤介绍
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- Mybatis快速入门—新手Mybatis详细配置步骤介绍
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- JAVAWEB开发之Struts2详解(一)——Struts2框架介绍与快速入门、流程分析与工具配置以及Struts2的配置以及Action和Result的详细使用
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- SD卡中FAT32文件格式快速入门(图文详细介绍)【转】
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- log4j快速入门
- vue2+vuex+vue-router 快速入门(三) vue 实例介绍