logback socketappender не работает из веб-приложения - PullRequest
1 голос
/ 26 сентября 2011

Я использую logback в своем проекте maven и отправляю логи с помощью socketappender.Тем не менее, socketappender работает только тогда, когда я запускаю тест junit, но когда я запускаю свой проект из tomcat (откройте веб-страницу), работает только консольный appender.Я использовал lilith и пример сервера в банке logabck.Вот мой logback.xml, который совпадает с logback-test.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="RootSocketAppender" class="ch.qos.logback.classic.net.SocketAppender">
<remoteHost>127.0.0.1</remoteHost>
<port>4560</port>
<reconnectionDelay>30000</reconnectionDelay>
<includeCallerData>false</includeCallerData>
</appender>
    <root level="warn">
        <appender-ref ref="console" />
        <appender-ref ref="RootSocketAppender" />
    </root>

</configuration>

Я получаю эти сообщения из консоли tomcat при развертывании приложения:

10:29:45,794 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
    10:29:45,794 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback-test.xml] at [file:/D:/programmation/workspace/eclipse/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/webapp/WEB-INF/classes/logback-test.xml]
    10:29:45,794 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs multiple times on the classpath.
    10:29:45,794 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs at [file:/D:/programmation/workspace/eclipse/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/webapp/WEB-INF/classes/logback-test.xml]
    10:29:45,794 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs at [jar:file:/D:/programmation/workspace/eclipse/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/webapp/WEB-INF/lib/backoffice.jar!/logback-test.xml]
    10:29:45,856 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
    10:29:45,856 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
    10:29:45,856 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [console]
    10:29:45,872 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
    10:29:45,903 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [foo] to INFO
    10:29:45,903 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.springframework.core] to INFO
    10:29:45,903 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.springframework.beans] to INFO
    10:29:45,903 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.springframework.context] to INFO
    10:29:45,903 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.springframework.test] to TRACE
    10:29:45,903 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.springframework.web] to INFO
    10:29:45,903 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to WARN
    10:29:45,903 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [console] to Logger[ROOT]

спасибо

1 Ответ

1 голос
/ 03 октября 2011

Logback не может найти RootSocketAppender в вашем logback-test.xml.Убедитесь, что он содержит этот appender и подключен к регистратору root.

Обратите внимание, что в каталоге WEB-INF/classes/ есть logback-test.xml, а в WEB-INF/lib/backoffice.jar - другой.Возможно, в вашем заявлении должен быть только один.

...