一,首先导入相关jar包:log4j-1.2.16.jar,slf4j-log4j12-1.7.2.jar。
hibernate 3.x版本 默认采用日志技术 slf4j (即简单日志门面(SimpleLoggingFacadeforJava)) ,不是具体的日志解决方案,它只服务于各种各样的日志系统。
* 使用slf4j 好处,很容易整合其他日志技术
企业java开发 最主流日志技术 log4j
slf4j-api-1.6.1.jar 没有日志实现,只是接口,整合log4j
导入 slf4j-log4j12-1.7.2.jar (slf4j对log4j 框架整合 )
导入 log4j-1.2.16.jar (log4j的日志jar包 )
二、配置log4j.properties
### direct log messages to stdout ###
###设置输出源为控制台输出###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
### 布局在控制台中记录那些信息 ###
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### direct messages to file mylog.log ###
###设置输出源为日志文件输出###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=c\:mylog.log
### 布局在日志文件中记录那些信息 ###
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=info, stdout , file
import org.apache.log4j.Logger;
/**
* 使用log4j 记录日志
*
* @author seawind
*
*/
public class Log4jTest {
// 步骤一 定义记录器 (通常是常量)
private static final Logger LOG = Logger.getLogger(Log4jTest.class);
public static void main(String[] args) {
// 步骤二 记录日志
LOG.fatal("致命错误");
LOG.error("普通错误");
LOG.warn("警告信息");
LOG.info("普通信息");
LOG.debug("调试信息");
LOG.trace("堆栈信息");
}
}
使用log4j 通过配置文件 ,配置日志框架使用
src/log4j.xml
src/log4j.properties (简单)
配置log4j.properties 有三个组件
组件一: 记录器(Loggers) 用来配置日志输出级别,使用哪些输出源 格式: 记录器名 = 级别, 输出源1 , 输出源2 ...
* 一个记录器 指定 多个输出源
log4j.rootLogger=info, stdout info是日志级别 , stdout是输出源名称
* log4j提供日志级别 由高到低 :fatal(致命错误), error(普通错误), warn(警告),info(信息), debug(调试), trace(堆栈 )
* log4j记录日志时,只会记录 配置级别更高级别的信息
组件二 : 输出源(Appenders) 在log4j中可以定义多个输出源 (控制台、日志文件、邮件、数据库 )
* log4j.appender.输出源名称 = 实现类
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 向控制台输出
log4j.appender.file=org.apache.log4j.FileAppender 向文件输出
组件三 : 布局(Layouts) 在日志中都记录哪些信息
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 自定义布局
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n 自定义布局格式
3)、 在程序中使用log4j 记录日志
步骤一 :定义记录器
private static final Logger LOG = Logger.getLogger(Log4jTest.class);
步骤二 :使用 log4j提供每个级别方法 记录日志
LOG.fatal("致命错误");
LOG.error("普通错误");
LOG.warn("警告信息");
LOG.info("普通信息");
LOG.debug("调试信息");
LOG.trace("堆栈信息");
* 常用 : error、warn、info、debug