日志:程序开发中的一些信息.
常用信息输出:System.out.println(“”);
* 这种方式不好:
* 如果输出内容比较多,项目已经开发完毕,不想使用输出.需要打开每个类,将输出的代码注释.
日志:Hibernate中使用slf4j技术.
slf4j:SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。
* 用于整合其他日志系统.
在企业中常用的日志记录:log4j
* 是具体的日志记录方案.
Log4J的日志级别:
* fatal(致命的)、error(普通错误)、warn(警告)、info(信息)、debug(调试)、trace(堆栈信息).
Logger.error(“错误信息”);
* 通过配置文件的形式,显示错误信息.
* 配置的级别是info.
Log4J的三个组件:
记录器(Loggers)
* 格式:记录器 = 级别, 输出源1 , 输出源2
* log4j.rootLogger=info, stdout
输出源(Appenders)
* 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
项目演示:
1、创建一个java项目
2、新建lib文件夹,导入相应的jar包:Hibernate3.jar、required文件夹下的jar包、jpa文件夹下的jar包、slf4j-api.jar、slf4j-log4j.jar,并新建属性文件log4j.properties
3、导入mysql驱动,build path,记得添加Junit4
4、新建包:com.js.demo1
5、在上面新建的包下,新建log4测试类:
package com.js.demo1;
import org.apache.log4j.Logger;
import org.junit.Test;
/**
* 日志记录的类:
* @author jiangshuai
*
*/
public class Log4jTest {
private Logger logger = Logger.getLogger(Log4jTest.class);
@Test
public void demo(){
logger.fatal("致命的...");
logger.error("错误...");
}
}
6、编辑Log4j.properties文件:
### 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 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
最后一行表明,输出级别的info之上的信息,输出到stdout,也就是控制台。
7、运行测试类:
控制台如图所示。