您的位置:首页 > 其它

log4j配置详解,附带hibernate

2014-08-15 14:33 260 查看
# For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml!
# For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.

#日志输出级别为info,根日志器输出目的地为stdout,logfile
log4j.rootLogger=info, stdout, logfile
#debug>info>error

#stdout为控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#指定向stdout控制台输出的日志的格式
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

#%m 输出代码中指定的消息
#%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
#%r 输出自应用启动到输出该log信息耗费的毫秒数
#%c 输出所属的类目,通常就是所在类的全名
#%t 输出产生该日志事件的线程名
#%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
#%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2010年12月31日 20:10:29,921
#%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。
#举例:Testlog4.main(TestLog4.java:10)

log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

#logfile日志文件
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${catalina.base}/logs/ssh.log
log4j.appender.logfile.MaxFileSize=10240KB
log4j.appender.logfile.MaxBackupIndex=5
#指定向logfile控制台输出的日志的格式
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

#当解析查询语句时记录HQL和SQL
log4j.logger.org.hibernate.hql.ast.AST=DEBUG
#记录所有的信息
#log4j.logger.org.hibernate=INFO
#记录执行的SQL DML语句
#log4j.logger.org.hibernate.SQL=DEBUG
#记录JDBC参数
#log4j.logger.org.hibernate.type=DEBUG
#记录执行的SQL DDL语句
#log4j.logger.org.hibernate.tool.hbm2ddl=DEBUG
#HQL
#log4j.logger.org.hibernate.hql=DEBUG
#记录在清理Session缓存时,Session缓存中所有对象的状态(最多记录20个对象)
#log4j.logger.org.hibernate.pretty=DEBUG
#记录第二级缓存的活动
#log4j.logger.org.hibernate.cache=DEBUG
#记录与事务有关的活动
#log4j.logger.org.hibernate.transaction=DEBUG
#记录得到的JDBC资源
#log4j.logger.org.hibernate.jdbc=DEBUG
#记录JASS(Java Authentication and Authorization Service)授权请求
#是一种提供安全验证和授权服务的框架
#log4j.logger.org.hibernate.secure=DEBUG


另一种

### 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

log4j.logger.org.hibernate=debug
log4j.logger.org.hibernate.hql.ast.AST=debug

#下面的两条配置非常重要,设置为trace后,将可以看到打印出sql中 ? 占位符的实际内容
#this is the most important config for showing parames like ?
log4j.logger.org.hibernate.SQL=trace
log4j.logger.org.hibernate.type=trace
#above two configs
log4j.logger.org.hibernate.tool.hbm2ddl=debug
log4j.logger.org.hibernate.hql=debug
log4j.logger.org.hibernate.cache=debug

log4j.logger.org.hibernate.transaction=debug
log4j.logger.org.hibernate.jdbc=debug
log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace

log4j.rootLogger=warn, stdout
log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
当然,输出的结果中有很多对于自己不必要的信息,可以通过调整log4j的内容来控制输出,那几个debug的信息都可以注掉,其实 log4j.logger.org.hibernate.SQL=trace  这条也可以注掉,不然会打印出两遍sql
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: