日志系统是一个Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug;在运行维护阶段,日志系统又可以帮我们记录大部分的异常信息,从而帮助我们更好的完善系统。Log4j是最受欢迎的java日志组件
Log4j下载路径:http://www.itmop.com/tags_log4j.html
log4jdbc4-1.2.jar 配置Log4jdbc,通过Log4j 打印一些sql的语句,sql执行的速度,返回一些集合的数据,都可以打印.
log4j主要配置三个组件:(Loggers),(Appenders:输出源),(Layouts)
Loggers:
OFF:关闭了日志信息
ALL:打开所有级别的日志
DEBUG:程序的调试信息
INFO:一般要显示的信息,比如登录登出
WARN:一般警告,比如session丢失
ERROR:严重错误 主要是程序的错误
FATAL:可能导致应用中止的严重事件错误 (比错误还严重,运行不了)
它们都是有顺序的DEBUG < INFO < WARN < ERROR < FATAL,用来指定这条日志信息的重要程度。
Log4j 的输出规则:只输出级别大于等于的日志信息,小于的就不会被输出。
Log4j是Apache的一个开放源代码项目,通过使用Log4j,可以控制每一条日志的信息内容和信息输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程;甚至还可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码.
Appenders:输出源
log4j提供了一系列的Appender,允许将日志输送到不同的地方,如控制台、文件、数据库等(5个输出源):
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
配置模式:
log4j.appender.appenderName = className
log4j.appender.appenderName.Option1 = value1…
log4j.appender.appenderName.OptionN = valueN
Layouts(输出格式):
四种日志输出样式使用的类如下:
org.apache.log4j.HTMLLayout(以 HTML 表格形式布局)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等信息)
Log4j 支持两种配置文件格式,一种是 XML 格式的文件,一种是 properties 属性文件。常用properties文件
用properties创建配置文件:右键点击src,new新建File,加上properties后缀,就是新建了一个log4j.properties了。
配置log4j根Logger:内容如下图:
下面是使用Log4j的一个简单例子:
package com.gx.vo;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class Demo {
public static void main(String[] args) {
Logger log = Logger.getLogger(Demo.class);
PropertyConfigurator.configure("src/log4j.properties");
log.debug("yes,debug");
log.info("yes,info");
log.error("yes,error");
log.warn("yes,warn");
}
}
Servlet是没法默认去拦截日志的,所以要手动配置web.xml输出日志,其他的框架输出日志是因为集合了日志的工具类
<context-param>
<param-name>log4j</param-name>
<param-value>log4j.properties</param-value>
</context-param>