Spring-boot с logback печатью некоторых системных журналов в журнале приложений - PullRequest
0 голосов
/ 30 октября 2018

У меня ранее была проблема, когда приложение печатало все логи в консоли. После прочтения некоторого поста я смог распечатать журналы в отдельный журнал приложений.

Теперь при перезапуске сервера приложений (IBM WAS 8.5) он печатает некоторые журналы SystemOut в только что созданный журнал приложений.

Сборка Gradle , Исключены некоторые банки, так как они пришли из другой зависимости

            exclude(group: 'org.slf4j', module:'slf4j-nop')
            all*.exclude group: "javax.servlet", module: "servlet-api"
            all*.exclude group: "org.slf4j", module: "log4j-over-slf4j"
            all*.exclude group: "org.slf4j", module: "slf4j-log4j12"
            all*.exclude group: "log4j", module: "log4j"

application.properties : -

        logging.file=MySpringBoot-applicaiton.log

и logback.xml : -

<?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <include resource="org/springframework/boot/logging/logback/defaults.xml" />
        <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
        <include resource="org/springframework/boot/logging/logback/file-appender.xml" />

        <root level="INFO">
            <appender-ref ref="FILE" />
        </root>
    </configuration>

MySpringBoot-applicaiton.log

>     [server.startup : 1] o.s.integration.channel.DirectChannel    : Channel 'application.sendXXXXXXXXRequestChannel' has 1 subscriber(s).
>     [server.startup : 1] o.s.i.endpoint.EventDrivenConsumer       : started sendXXXXXXXOutboundGateway
>     [server.startup : 1] o.s.i.endpoint.EventDrivenConsumer       : Adding {ws:outbound-gateway(marshaling):sendXXXXXXXXOutboundGateway}
> as a subscriber to the 'sendXXXXXXXXXRequestChannel' channel
>     [server.startup : 1] s.d.s.w.s.ApiListingReferenceScanner     : Scanning for api listing references
>     [server.startup : 1] com.XXX.XXX.api.rest.ServletInitializer  : Started ServletInitializer in 47.992 seconds (JVM running for 142.685)
>     [server.startup : 1] com.ibm.ws.webcontainer.webapp           : SRVE0292I: Servlet Message -
> [MySpringBootEar-FUT.SNAPSHOT-0#MySpringBootWeb.war]:.Initializing
> Spring FrameworkServlet 'dispatcherServlet'
>     [server.startup : 1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
>     [server.startup : 1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 47
> ms
>     [server.startup : 1] c.i.w.w.servlet.ServletWrapper           : SRVE0242I: [MySpringBootEar-FUT.SNAPSHOT-0] [/mycustomurl]
> [dispatcherServlet]: Initialization successful.
>     [server.startup : 1] com.ibm.ws.webcontainer.webapp           : SRVE0292I: Servlet Message -
> [MySpringBootEar-FUT.SNAPSHOT-0#MySpringBootWar.war]:.Initializing
> Spring FrameworkServlet 'messageDispatcherServlet'
>     [server.startup : 1] o.s.w.t.http.MessageDispatcherServlet    : FrameworkServlet 'messageDispatcherServlet': initialization started
>     [server.startup : 1] o.s.w.t.http.MessageDispatcherServlet    : FrameworkServlet 'messageDispatcherServlet': initialization completed
> in 31 ms
>     [server.startup : 1] c.i.w.w.servlet.ServletWrapper           : SRVE0242I: [MySpringBootEar-FUT.SNAPSHOT-0] [/mycustomurl]
> [messageDispatcherServlet]: Initialization successful.
>     [server.startup : 1] com.ibm.ws.webcontainer.webapp           : SRVE0278E: Error while adding servlet mapping --> /*.
>     [server.startup : 1] com.ibm.ws.webcontainer                  : SRVE0250I: Web Module null has been bound to
> default_host[*:9080,*:80,*:9443,*:5060,*:5061,*:443].

Здесь, в последних двух строках журналов, это сообщение с сервера, которое теперь печатается в журнале приложения.

=============================================== ==================== UPDATE:

2018-11-06 15:40:24.291  WARN 27132 --- [P=756984:O=0:CT] com.ibm.ws.runtime.WsServerImpl          : WSVR0001I: Server server1 open for e-business

Приведенная выше строка теперь печатается в журнал приложений при использовании logback с springboot. Нет конфигурации x logback, просто добавили logging.file= в applicaiton.properties файл.

Приведенный выше журнал является журналом IBM WebSphere. как это происходит в моем журнале приложений.

1 Ответ

0 голосов
/ 30 января 2019

Я столкнулся с подобной проблемой. Вы можете перенаправить информацию, связанную с запуском сервера, из журнала приложения в файл websphere stdout.log, добавив в logback.xml следующее: -

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
        </Pattern>
    </layout>
</appender>

<logger name="com.ibm.ws.runtime" level="warn"
    additivity="false">
    <appender-ref ref="STDOUT" />
</logger>

<root level="WARN">
    <appender-ref ref="STDOUT" />
</root>
...