20080302日志(log4j简单配置和一些属性说明)
过程:
首先编写了HibernateUtil类,该类用于简化SessionFactory的操作和启动hibernate
package com.lucifer.hibernate.util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
/**
* <p>Title: hibernate util</p>
* <p>Description: 操作SessionFactory类,启动hibernate</p>
* <p>Copyright: 2008-2010</p>
* <p>Company: </p>
* @author lucifer
* @version 1.0
*/
public class HibernateUtil
{
private static final SessionFactory sessionFactory;
static
{
try
{
//根据hibernate.cfg.xml创建SessionFactory
sessionFactory = new Configuration().configure().buildSessionFactory();
}catch(Throwable ex)
{
System.err.println("Initial SeesionFactory creation failed"+ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
这个没什么好说的,基本依样画葫芦。在类里直接写static{....}这样的写法俺是第一次见到,估计是段在该类被加载时就肯定会被调用的代码。catch(Throwable ex)这样的写法以前也没用过,自己写的时候用Exception ex更多一些,今天还特地去查了下API,发现Throwable是Exception的父类,汗一下以前一直不知道。。
Factory工厂方法一直在用,但是不知道为什么要用,适合哪些场合,这个需要了解下。
还配置了LOG4J
log4j的配置很容易,把log4j.jar拷到LIB下,然后写一个log4j.properties配置文件就OK了
#输出到stdout和R
log4j.rootCategory=INFO, stdout , R
#stdout输出到控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#定义stdout的layout
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#定义输出信息格式,如果使用pattern布局就要指定的打印信息的具体格式ConversionPattern
log4j.appender.stdout.layout.ConversionPattern=[AHT] %p [%t] %C.%M(%L) | %m%n
#定义R输出为日志文件
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
#R输出路径
log4j.appender.R.File=g:eclipse3.2workspaceant-hibernate-testAHT.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n
#指定com.neusoft包下的所有类的等级为DEBUG
log4j.logger.com.neusoft=DEBUG
#EHCACHE
#log4j.logger.com.opensymphony.oscache=ERROR
#log4j.logger.net.sf.navigator=ERROR
#struts
#log4j.logger.org.apache.commons=ERROR
#log4j.logger.org.apache.struts=WARN
log4j.logger.org.displaytag=ERROR
#spring
#log4j.logger.org.springframework=DEBUG
log4j.logger.com.ibatis.db=WARN
log4j.logger.org.apache.velocity=FATAL
log4j.logger.com.canoo.webtest=WARN
#hibernate
log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN
log4j.logger.org.hibernate=DEBUG
log4j.logger.org.logicalcobwebs=WARN以上配置文件参考了大使馆馆长的log4j配置一文,并进行了一些整理和修改
http://blog.csdn.net/djhyoo/archive/2007/06/09/1645525.aspx这个是原文地址
解答:
今日暂无
疑问:
1、static{..}代码是否在类被加载时执行,需验证
2、factory方法用途,用法,适用范围
感想:
今天好忙,早上自学,下午自虐(肉体+心灵 T_T),晚上陪吃饭,吃完回家写日志和简历,等下还要。。。
忙的跟狗一样。。
推荐文章 |

