Karaf 4.0.5 with log4j2:我的捆绑包日志输出始终在控制台中,但应该在文件中

问题描述 投票:2回答:1

我已配置Karaf 4.0.5来解决此问题issue,但捆绑软件的日志输出仅在karaf控制台中显示,而不在文件中显示。它在Karaf 4.0.3中工作。有什么想法为什么我的包中的输出仅出现在Karaf控制台中?我对配置log4j2所做的更改:

  1. startup.properties(相应的jar位于$ {karaf.system}文件夹中:]]

    mvn:org.ops4j.pax.logging / pax-logging-api / 1.8.5 = 8(此行被注释)mvn:org.ops4j.pax.logging / pax-logging-service / 1.8.5 = 8mvn:org.ops4j.pax.logging / pax-logging-log4j2 / 1.8.5 = 8mvn:com.lmax / disruptor / 3.3.2 = 8

  2. org.ops4j.pax.logging.cfg:

  3. org.ops4j.pax.logging.log4j2.config.file = $ {karaf.etc} /log4j2.xmlorg.ops4j.pax.logging.log4j2.async = true

  4. system.properties

  5. log4j.configurationFile = file:$ {karaf.etc} /log4j2.xml

    org.ops4j.pax.logging.DefaultServiceLog.level =调试

    Log4jContextSelector = org.apache.logging.log4j.core.async.AsyncLoggerContextSelector

  6. log4j2.xml:

  7. <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="ALL">    
    <Appenders>
        <RollingRandomAccessFile name="oapiserver" fileName="data/log/log4j2.log" filePattern="data/log/oapi-%d_%i.log.gz" immediateFlush="false">
            <ThresholdFilter level="DEBUG"/>
            <PatternLayout>
                <pattern>%level{length=1} %date{MMdd-HHmm:ss,SSS} %logger{1.} %message [%thread]%n</pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="50 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="10000"/>
        </RollingRandomAccessFile>
    </Appenders>
    
    <Loggers>
        <Root level="DEBUG">
            <AppenderRef ref="oapiserver"/>
        </Root>
    </Loggers>
    

我配置了Karaf 4.0.5来解决此问题,但捆绑软件的日志输出仅在karaf控制台中显示,而不在文件中显示。它在Karaf 4.0.3中工作。任何想法,为什么我的捆绑包输出...

log4j2 apache-karaf
1个回答
0
投票

对于karaf-4.0.4:请参阅4.0.5发行说明-[KARAF-4278

© www.soinside.com 2019 - 2024. All rights reserved.