rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » Java综合

Weblogic下Log4j的配置实践

log4j有两种配置方式,一种是.properties一种是.xml.我采用前者. IDE:JBuilderX Server:Weblogic8.13 sp6 Frame:Struts1.1 1.下载log4j.jar,放入/lib下.(当前最新版本是1.2.14) 2.在JBuilderX中configure Libraries.然后通过属性对话框把Library加入工程. 3.完成以上两件事后,就被搜到的一篇文章误导了,以为非得要一个commons-logging.properties在/WEB-INF/classes下.于是照着做了. 4.依样画葫芦,放了个log4j.properties在/WEB-INF/classes下.一启动weblogic下的应用程序,就出现错误,console上的错误信息如下: (具体的log4j.properties的写法网上的例子很多) <2007-3-26 下午06时45分26秒 CST> <Error> <HTTP> <BEA-101216> <Servlet: "action"
failed to preload on startup in Web application: "ITDevQualityData".
javax.servlet.ServletException
        at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubIm
pl.java:909)
        at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStub
Impl.java:873)
        at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubI
mpl.java:812) ....... 可见servlet启动异常. 但是,如果把common-logging.properties从/WEB-INF/classes下删除.只留下log4j.properties应用系统就能正常启动, 启动过程出现很多DEBUG信息. 我想这应该是我在log4j.properties中设置的是log4j.rootLogger=ERROR,A1,R的原因.而这些信息很显然是来自启动应用程序的时候lib下带的那些.jar的,很多都来自struts.可见struts本身就是实现通用日志接口来输出log. 再回过头来看commons-logging.properties.它是用来指定日志器的.因为除了log4j外,还有SimpleLog和NoOpLog两种日志实现.这已经包括在commons-logging.jar中.如果我们要用SimpleLog,那么/WEB-INF/classes下就是 org.apache.commons.logging.log=org.apache.commons.logging.impl.SimpleLog 一些文章又提到如果采用log4j,就应该把commons-logging.properties改成 org.apache.commons.logging.log=org.apache.commons.logging.impl.Log4jCategoryLog (for struts1.2) 或者 org.apache.commons.logging.log=org.apache.commons.logging.impl.Log4JLogger (for struts1.1) 可是在我的配置实践中,发现根本不需要配置commons-logging.properties.就只需要log4j.properties. 我想那样的设置应该和web服务器的选择或者版本有关系.
顶一下
(0)
踩一下
(0)