2
Ci-dessous, j'ai une configuration de logback appliquée globalement.Différents niveaux de consignation pour différentes classes
Je voudrais faire le niveau de journalisation ERROR globalement, sauf pour une classe. Pour une classe spécifique, je veux faire le niveau de journalisation INFO. Comment puis je faire ça?
<configuration scan="truef" scanPeriod="30 seconds">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="com.foo.web.online.util.log.LogMaskingPatternLayout">
<pattern>[START] Date: %d{yyyy-MM-dd} | Time: %d{HH:mm:ss.SSS} | Level: %-5level | Logger: %logger{5} | Marker: %marker | CIP: %X{clientIp} | UserAgent: %X{userAgent} | Website: %X{website} | SID: %X{sessionId} | RID: %X{requestId} | CID: %X{conversationId} | TID: %X{transactionId} | App: %X{app} | SubApp: %X{subApp} | Msg: %msg [END] %n</pattern>
</layout>
</encoder>
</appender>
<appender name="SIFT_INFO" class="ch.qos.logback.classic.sift.SiftingAppender">
<discriminator class="ch.qos.logback.classic.sift.JNDIBasedContextDiscriminator">
<defaultValue>unknown</defaultValue>
</discriminator>
<sift>
<appender name="FILE-${contextName}" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/opt/local/logs/online/${contextName}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/opt/local/logs/online/${contextName}-%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>7</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="com.foo.web.online.util.log.LogMaskingPatternLayout">
<pattern>[START] Date: %d{yyyy-MM-dd} | Time: %d{HH:mm:ss.SSS} | Level: %-5level | Logger: %logger{5} | Marker: %marker | CIP: %X{clientIp} | UserAgent: %X{userAgent} | Website: %X{website} | SID: %X{sessionId} | RID: %X{requestId} | App: %X{app} | SubApp: %X{subApp} | Page: %X{page} | Device: %X{device} | Browser: %X{browser} | Lang: %X{language} | IPCountry: %X{geoIpCountry} | IPCity: %X{geoIpCity} | ErrCode: %X{errorCode} | Msg: %msg [END] %n</pattern>
</layout>
</encoder>
</appender>
</sift>
</appender>
<logger name="com.foo" level="INFO">
<appender-ref ref="SIFT_INFO" />
<!-- <appender-ref ref="STDOUT" /> -->
</logger>
<logger name="org.hibernate.type" level="INFO" />
<logger name="org.hibernate" level="INFO" />
</configuration>
où avez-vous référence à l'enregistreur org.foo.MyClass? – DarthVader
Vous avez dit que vous vouliez le niveau INFO sur une classe seulement, c'est là que vous mettez le FQN de votre classe (j'ai juste utilisé un exemple). – shayy
ok. Cela fonctionne un peu. sauf qu'il imprime le même journal deux fois. – DarthVader