2009-10-28 1 views
0

У меня возникли проблемы с поиском/получением любого результата регистрации в веб-службе.Ведение журнала веб-сервисов не выводится, но не прерывается

У меня есть веб-сервис работает через axis2 в контейнере Tomcat6, то .aar файл содержит следующую структуру:

root/ 
    log4j.properties 
    lib/ 
     slf4j-api.jar 
     slf4j-log4j12.jar 
     log4j-1.2.jar 
    com/ 
     all of my classes 
    META-INF/ 
     services.xml 

Услуга проста сейчас, просто:

public class MyService { 

    private static Logger log = LoggerFactory.getLogger(MyService.class); 

    public String echo(String toLog) { 
     log.error("Entered echo with [{}]", toLog); 

     return "Echo: " + toLog; 
    } 
} 

При запуске с основной командой из файла jar в командной строке, журнал работает нормально, но при доступе в качестве веб-службы не создается файл регистрации, но ошибок не обнаружено. Клиент получает строку «Echo:» + toLog, как она ожидает.

Вот соответствующие биты из log4j.properties

### direct messages to file myservice.log ### 
log4j.appender.file=org.apache.log4j.FileAppender 
log4j.appender.file.File=/var/lib/tomcat6/logs/myservice.log 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n 

### set log levels - for more verbose logging change 'info' to 'debug' ### 

log4j.rootLogger=warn, file 

У меня есть файл log4j.properties в неправильном месте? Или что-то еще здесь происходит?

ответ

1

Axis2 развертывается как веб-приложение в Tomcat и имеет собственную конфигурацию ведения журнала (ведение журнала сообщества). Поскольку это тот, который вызывает ваш метод обслуживания, более чем вероятно, что ваши протоколирующие операторы находятся где-то в файлах журнала Axis2.

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