Web工程部署到WebLogic9.2配置Log4j问题
使用commons-logging接口管理log4j打印日志
现象:
1.开发中使用tomcat作应用服务器,只要吧log4j.properties放到src下即可正确的打印出日志。
2.开发中使用WebLogic9.2作为应用服务器
a)发布成Exploded Archive,打印日志正常
b)发布成Packaged Archive,不能打印日志
怀疑打包后WebLogic不能读取log4j配置文件
原因:
在web.xml中log4j的配置方式问题,默认情况log4j.properties放在classes目录下,而由于war没展开,找不到这个文件,所以把它直接放WEB-INF目录下,并去掉原来web.xml里面的如下配置:
<servlet> <servlet-name>log4j</servlet-name> <servlet-class> org.springframework.web.util.Log4jConfigServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet>
解决办法:
新建一个servlet,初始化log4j配置文件:
public void init() throws ServletException { InputStream is = getServletContext().getResourceAsStream( "/WEB-INF/classes/log4j.properties"); Properties props = new Properties(); try { props.load(is); } catch (IOException e) { System.err.println("Load log4j configuration failed"); } PropertyConfigurator.configure(props); }
并注册到web.xml中
相关推荐
chw0 2020-11-04
sdaq 2020-07-26
MrLiar 2020-07-07
sdaq 2020-06-16
丨Fanny丨Cri 2020-06-13
CXC0 2020-06-08
MrLiar 2020-06-04
丨Fanny丨Cri 2020-06-03
丨Fanny丨Cri 2020-05-17
JavaWinner 2020-05-10
JavaWinner 2020-05-04
CXC0 2020-04-20
CXC0 2020-04-10
丨Fanny丨Cri 2020-02-18
MrLiar 2020-02-16
CXC0 2020-02-09