2010-11-04 3 views
0

У меня есть папка проекта с объединенным приложением J2ee и стандартным Java-приложением. У меня возникают проблемы с настройкой Log4j.properties. Я хочу иметь отдельные файлы журналов 1 для своего веб-приложения и еще один для моего стандартного приложения. У меня есть два файла Log4j.properties один под корневым пакетом моего веб-приложения и один под корневым пакетом моего стандартного приложения, где оба пакета находятся в папке src. Когда я запустил как веб-приложение, так и стандартное приложение, в котором указано только имя файла, файл журнала для моего webapp создается в каталоге веб-сервера, но мой стандартный файл журнала приложений Java создан внутри моего каталога WAR. Я хочу, чтобы файл журнала для моего стандартного java-приложения и моего веб-приложения был помещен в корневую папку, поэтому я указал как абсолютный путь в этой папке, так и log4j.properties. Проблема заключается в том, что единственный файл журнала зависит от того, какой файл log4j.properties был обнаружен, и журналы для моего веб-приложения и стандартного java-приложения были написаны на одном файлеJ2EE и стандартное приложение Java Log4j.properties

ответ

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

Я считаю, что здесь лежит ваша проблема. Если вы используете библиотеки вашего стандартного приложения в своем веб-приложении, то при загрузке сервер приложений найдет два файла 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.

Запуск веб-приложение, указав только имя файла остается неясным. Какое имя файла? Когда вы говорите свой каталог WAR, вы имеете в виду каталог вашего webapp, который также находится в вашем каталоге веб-сервера, или каталог под вашей (я предположим, вы используете 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.

+0

Да, мое приложение Java является автономным приложением и может запускаться в командной строке. Эти два проекта были объединены. некоторые из классов используются в веб-приложении. Имя файла, о котором я говорил, было именем файла журнала. Указание только имени файла создаст один файл журнала для веб-приложения в каталоге внутри веб-сервера и один в каталоге проекта Java-приложения. – cedric

Смежные вопросы