Необходимо создать отдельный файл журнала для файла JAR? - PullRequest
0 голосов
/ 26 сентября 2011

Я создаю JAR-файл, который мне нужно предоставить клиенту, но мой клиент запрашивает отдельный регистратор для JAR-файла, так как он выполняет некоторую интеграционную работу.

любой может подсказать, как мне создать регистратор только для одного файла JAR, могу ли я поместить log4j.properties в тот же файл JAR.

Я использую сервер веб-логики. мы не будем развертывать этот файл JAR, вместо этого мы просто будем хранить его в папке lib домена.

Спасибо

1 Ответ

1 голос
/ 26 сентября 2011

Если файл свойств находится в банке, вы можете сделать что-то вроде этого:

Properties props = new Properties();
props.load(getClass().getResourceAsStream("/log4j.properties"));
PropertyConfigurator.configure(props);

Выше предполагается, что log4j.properties находится в корневой папке файла банку.

Если в этом случае это не работает для ваших нужд, вы всегда можете использовать:

-Dlog4j.configuration=log4j_for_some_jar.properties

Если другое приложение также использует Log4j.Более простым способом было бы просто настроить файл log4j для отправки чего-либо из ваших классов в вашем jar-файле в новый файл журнала, например, так:

log4j.rootLogger=ERROR, logfile

log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.datePattern='-'dd'.log'
log4j.appender.logfile.File=log/radius-prod.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%-6r %d{ISO8601} %-5p %40.40c %x - %m\n

log4j.logger.foo.bar.Baz=DEBUG, myappender
log4j.additivity.foo.bar.Baz=false

log4j.appender.myappender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.myappender.datePattern='-'dd'.log'
log4j.appender.myappender.File=log/access-ext-dmz-prod.log
log4j.appender.myappender.layout=org.apache.log4j.PatternLayout
log4j.appender.myappender.layout.ConversionPattern=%-6r %d{ISO8601} %-5p %40.40c %x - %m\n
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...