2016-07-18 33 views
0
Datei

wir für unsere Protokollierung verwenden logback und wir haben folgende Gläser in unserem Klassenpfadlogback loggt nicht Anwendungsprotokoll Aussagen weder Konsole noch

JCL-over-slf4j-1.7.7.jar logback-classic -1.1.3.jar logback-core-1.1.3.jar slf4j-api-1.7.7.jar Janino-2.7.8.jar

in jeder Anwendung, haben i minimal config in logback.xml . Gefallen Sie diesen

<configuration scan="true" scanPeriod="10 seconds"> 
    <statusListener 
     class="ch.qos.logback.core.status.OnConsoleStatusListener" /> 
    <contextName>myapp- ${HOSTNAME}</contextName> 
    <include file="${logback.path}/logback.xml"/> 
</configuration> 

Da ist in meinem Dateisystem habe ich Config wie diese

<included> 
<property name="LOG_HOME" value="C:\\tmp" /> 
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> 
    <layout class="ch.qos.logback.classic.PatternLayout"> 
     <Pattern>%d{yyyy-MM-dd-HH:mm:ss.SSS} cn=%contextName [%thread] %-5level %logger{36} - %msg%n</Pattern> 
    </layout> 
</appender> 

<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
     <fileNamePattern>${LOG_HOME}/application.%d{yyyy-MM-dd-HH-mm}_%i.zip</fileNamePattern> 
     <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
      <maxFileSize>250KB</maxFileSize> 
     </timeBasedFileNamingAndTriggeringPolicy> 
    </rollingPolicy> 

    <encoder> 
     <pattern>%d{yyyy-MM-dd-HH:mm:ss.SSS} cn=%contextName [%thread] %-5level %logger{36} - %msg%n</pattern> 
    </encoder> 
</appender> 

<logger name="org.springframework" level="INFO"/> 
<logger name="com" level="INFO"/> 

<root level="INFO"> 
    <appender-ref ref="stdout"/> 
    <appender-ref ref="file" /> 
</root> 

Jetzt, wenn ich meine app bereitstellen, sehe ich Protokolle von Federrahmen in application.xxx. Protokolldatei, aber mein tatsächlicher Anwendungscode, der einige Anweisungen protokolliert, wird in dieser Protokolldatei nicht angezeigt.

In meinem Code verwende ich slf4j Logger Factory, um den Logger zu bekommen und dann nur einige zu loggen Dummy-Anweisungen, wie diese

private static final Logger logger = LoggerFactory.getLogger(GameService.class); 
logger.info("Playing cricket game......."); 

Antwort

0

Ich denke, ich habe das Problem herausgefunden. Einige wo in unserer lib, verwendeten wir gemeinsame logger-util-Klasse, die Logger-Kontext-Objekt geändert wurde. Sobald ich diese Abhängigkeit beseitigt hatte, funktionierten die Dinge gut. Da dies die alte Art der Protokollierung war, brauchten wir nicht länger common logger util.