一、整合log4j
slf4j 核心jar :
slf4j-api-1.6.1.jar 。slf4j是日志框架,将其他优秀的日志第三方进行整合。
整合导入jar包
log4j核心包:log4j-1.2.17.jar
过渡jar(整合jar):slf4j-log4j12-1.7.5.jar
导入配置文件(放在src下)
log4j.properties ,此配置文件通知log4j 如何输出日志
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
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 hibernate.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=d\:hibernate.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
配置文件内容:
1.记录器
2.输出源
3.布局
记录器
例如: log4j.rootLogger=info,stdout,file
格式:log4j.rootLogger=日志级别, 输出源1,输出源2,。。。。
log4j日志级别 : fatal 致命错误 error 错误 warn 警告 info 信息 debug 调试信息 trace 堆栈信息 (由高到底顺序)
输出源:
例如:log4j.appender.file=org.apache.log4j.FileAppender
格式:log4j.appender.输出源的名称=输出源的实现类
名称:自定义
实现类:log4j提供
输出源属性例如:log4j.appender.file.File=d\:mylog.log
输出源属性格式:log4j.appender.名称.属性=值
每一个输出源对应一个实现类,实现类都属性(setter),底层执行setter方法进行赋值
常见的输出源实现类
org.apache.log4j.FileAppender 输出文件中
file,表示文件输出位置
org.apache.log4j.ConsoleAppender输出到控制台
Target,表示使用哪种输出方式,在控制台打印内容,取值:System.out / System.err
布局 -- 确定输出格式
例如:log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
格式:log4j.appender.数据源.layout=org.apache.log4j.PatternLayout
布局属性:log4j.appender. 数据源.layout.ConversionPattern=值
12:56:30,123 info
扩展:对指定的目录设置日志级别
例如:log4j.logger.org.hibernate.transaction=debug
格式:log4j.logger.包结构=级别
case:
package com.hcx.e_api;
import org.hibernate.Session;
import org.junit.Test;
import com.hcx.domain.Customer;
import com.hcx.utils.HibernateUtils;
public class Demo {
@Test
//验证c3p0连接池
public void fun1(){
Session session = HibernateUtils.openSession();
session.beginTransaction();
//------------------------------------------------
Customer c = new Customer();
c.setName("tom");
session.save(c);
//------------------------------------------------
session.getTransaction().commit();
session.close(); // 游离状态
}
}