Может ли каждая из веб-служб axis2 иметь собственный файл журнала с использованием log4j?

#web-services #log4j #axis2 #logging

#веб-службы #log4j #axis2 #ведение журнала

Вопрос:

Возможно ли добиться, чтобы каждая из веб-служб axis2 имела собственный файл журнала с использованием log4j? Например, я хочу, чтобы моя служба аутентификации имела аутентификацию.у службы журналов и пулов есть пул.файл журнала.

С наилучшими пожеланиями, Боян

Ответ №1:

С этим проблем нет. Просто используйте регистраторы с разными именами в каждой реализации веб-службы и настройте отдельный FileAppender для каждого из них. Вот минимальный пример конфигурации, который может дать вам представление о том, как это сделать:

 <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

<appender name="fileAppender1" class="org.apache.log4j.FileAppender">
   <param name="file" value="webservice1.log"/>
</appender>

<appender name="fileAppender2" class="org.apache.log4j.FileAppender">
   <param name="file" value="webservice2.log"/>
</appender>

<logger name="org.x.logger1">
   <appender ref="fileAppender1"/>
</logger>

<logger name="org.x.logger2">
   <appender ref="fileAppender2"/>
</logger>

</log4j:configuration>
 

Комментарии:

1. @snijele Отлично. Кстати, debug="true" он не был нужен, удалил его.

2. Где именно (в каком файле конфигурации) вы помещаете эти инструкции? Какой файл журнала по умолчанию используется для Axis2?

3. @PNS Это фрагмент log4j.xml файла. Axis2 ведет журнал через Apache Commons Logging, который является API, который необходимо настроить для использования с большинством библиотек ведения журнала, включая log4j; см. commons.apache.org/logging .