J2EE和标准Java应用程序Log4j.properties

时间:2010-11-04 09:58:58

标签: log4j

我有一个包含合并的J2ee应用程序和标准java应用程序的项目文件夹。我在配置Log4j.properties时遇到问题。我希望为我的Web应用程序提供单独的日志文件1,为标准应用程序提供另外1个日志文件。我有两个Log4j.properties文件,一个在我的Web应用程序的根包下,另一个在我的标准应用程序的根包下,其中两个包都在src文件夹下。 当我同时运行仅指定文件名的Web应用程序和标准应用程序时,我的webapp的日志文件在Web服务器目录中创建,但我的标准Java应用程序日志文件是在我的WAR目录中创建的。我希望我的标准Java应用程序和我的Web应用程序的日志文件放在根文件夹中,这就是我在log4j.properties指向该文件夹的绝对路径中指定的原因。问题是唯一创建的日志文件取决于检测到哪个log4j.properties文件,并且我的Web应用程序和标准Java应用程序的日志都写在该文件上

1 个答案:

答案 0 :(得分:0)

这将是一项侦探工作,因为我会有比你更多的问题。

I have a project folder with merged J2ee application and standard java application

这种区别在我看来有点模糊。您有两个应用程序的项目文件夹?如果它们分开会更容易。您的标准Java应用程序是否可以在命令行上运行的独立应用程序?一组实用程序类,如库?

I want to have separate log files 1 for my web application and another 1 for my standard application

我相信这是你的问题所在。如果您在Web应用程序中使用标准应用程序库,则在加载期间,应用程序服务器将在类路径中找到两个log4j.properties文件。你无法100%确定这将如何表现。

When I ran both web app and standard app specifying only the file name, the log file for my webapp is created in the web server directory but my standard java app log file is created inside my WAR directory.

运行仅指定文件名的Web应用程序尚不清楚。什么文件名?当你说你的WAR目录时,你的意思是你的webapp目录,你的web服务器目录,或你的(我假设你使用Eclipse)IDE的项目文件夹下的目录?

I want the log file for my standard java app and my web app to be placed in the root folder that is why I specified in both log4j.properties absolute path to that folder.

根文件夹,就像* nix中的/一样?如果您希望它们都放在一个文件夹中,那么您应该删除一个log4j.properties文件。

The problem is the only created log file depends on which log4j.properties file was detected and logs for both my web app and standard java app was written on that one file

是。您只需要一个log4j.properties文件。