weblogic10部署问题

在用log4j生成日志的时候,开发环境就可以,可以打成War包后,就不可以.这个问题,我找了一天,才解决.

其实问题不大,就是平时没有注意到.

我是把log4j放到一个servlet中初始化.之前的写法是:

String prefix = getServletContext().getRealPath("/");

String file = getInitParameter("log4j-init-file");

if(file != null)

{

  PropertyConfigurator.configure(prefix+file); 

}

这样写,取得是物理地址,在开发环境部署weblogic或者tomcat的时候,都是以文件的形式才部署.

但是生成War包后,在到weblogic10上部署的时候,就不是以文件的形式了,所以代码应该改成以下样子:

String file = getInitParameter("log4j-init-file");
Properties ps = new Properties();
try {
ps.load(getServletContext().getResourceAsStream(file));
} catch (IOException e) {
e.printStackTrace();
}
PropertyConfigurator.configure(ps);

通过这个问题,让我想到,对于其他配置文件的处理,也要注意.

如果改起来太麻烦.还有一个简单的方法,是不需要改动代码的.

先用myeclipse配置weblogic中间件.然后部署,完成后,去weblogic路径下复制出部署文件,这样以后可以直接用目录式的工程部署了,不用生成War包.

我用的weblogic10,myeclipse生成的部署文件路径:

C:\bea\user_projects\domains\myweb\autodeploy\自己的项目

你可能感兴趣的:(weblogic)