Ведение журнала веб-службы не выводится, но не приводит к сбою

StackOverflow https://stackoverflow.com/questions/1634720

  •  06-07-2019
  •  | 
  •  

Вопрос

У меня проблемы с поиском / получением каких-либо выходов журналирования из веб-службы.

У меня есть веб-сервис, работающий через 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 в неправильном месте? Или здесь что-то еще происходит?

Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top