1,我想让hibernate输出一些日志,但我把日志配置文件放在非默认路径下。这样系统怎么知道hibernate还能找到配置文件吗?或者我应该怎么告诉它配置文件的位置吗?
2,如果配置文件路径和hibernate没关系,只跟common-logging有关,那common-logging是怎么告诉其他的类该怎么输出日志呢?
Log4j 初始化的时候通过如下方式找到的配置文件
[code="java"]
//类的加载器
ClassLoader calssLoader = Thread.currentThread()
.getContextClassLoader();
URL url = null;
if (calssLoader != null)
//在类的路径下,加载log4j.properties/log4j.xml
url = calssLoader.getResource("log4j.properties");
//读取配制文件后再做相关的处理
if (url != null)
prop.load(url.openStream());[/code]
[code="java"]1,我想让hibernate输出一些日志,但我把日志配置文件放在非默认路径下。这样系统怎么知道hibernate还能找到配置文件吗?或者我应该怎么告诉它配置文件的位置吗? [/code]
改log4j的源代码,指定加载配制文件的位置
[code="java"]2,如果配置文件路径和hibernate没关系,只跟common-logging有关,那common-logging是怎么告诉其他的类该怎么输出日志呢? [/code]
common-logging使用
private LogProcessor logProcessor=new LogProcessor(this.getClass().getName());
catch (Exception he)
{
logProcessor.outLogMessage(he);
}
http://www.blogjava.net/liuwentao253/archive/2006/08/03/61517.html
可以参考下这篇文章,1、配置文件是必须要放在classpath下的,这样hibernate才能找日志配置文件;2、common-logging不是必须的,如果有log4j,它会被优先使用。或者你可以再common-logging文件中指定log类型;
lo4j.properties 文件扔到src下就可以了.什么都不用配置
hibernate中好像是没法配置log4j的路径,只有默认路径,就放到classes下面
lo4j.properties里面可以指定log文件的输出目录