[logback-user] Root logger with debug, appender with trace
Felix Natter
fnatter at gmx.net
Mon Dec 26 10:41:47 CET 2016
hello,
I have a spring application that logs to a primary log file
("caseportal.log"):
(note: I replaced the real root package of my code by "root.package")
<!--Daily rolling file appender -->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${catalina.base}/logs/caseportal.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${catalina.base}/logs/caseportal-%d.log.zip</FileNamePattern>
<maxHistory>120</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${logPattern}</pattern>
</encoder>
</appender>
plus *additionally*, for some packages, to several other log files
(picked one example, "cp-deletion.log", here):
<appender name="deletion" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${catalina.base}/logs/cp-deletion.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${catalina.base}/logs/cp-deletion-%d.log.zip</FileNamePattern>
<maxHistory>120</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${logPattern}</pattern>
</encoder>
</appender>
[...]
<logger name="root.package.core.service.deletion" level="DEBUG">
<appender-ref ref="deletion"/>
</logger>
<logger name="root.package.core.domain.deletion" level="DEBUG">
<appender-ref ref="deletion"/>
</logger>
<logger name="root.package.core.scheduledtasks.BulkDeletionCron" level="DEBUG">
<appender-ref ref="deletion"/>
</logger>
<logger name="root.package.frontend.runners.BulkDeletionRunner" level="DEBUG">
<appender-ref ref="deletion"/>
</logger>
Now I would like some packages to *only* log to another log file
("cp-retentionperiodad.log").
I am trying to achieve this by logging with loglevel TRACE, configuring
the root logger to log only DEBUG for those packages:
<logger name="root.package" level="DEBUG"/>
and configuring the other log file with loglevel TRACE for those
packages:
<appender name="retentionperiodad" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${catalina.base}/logs/cp-retentionperiodad.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${catalina.base}/logs/cp-retentionperiodad-%d.log.zip</FileNamePattern>
<maxHistory>120</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${logPattern}</pattern>
</encoder>
</appender>
<logger name="root.package.core.scheduledtasks.RetentionPeriodAdCron" level="TRACE">
<appender-ref ref="retentionperiodad"/>
</logger>
<logger name="root.package.core.ad.authorize.ActiveDirectoryClient" level="TRACE">
<appender-ref ref="retentionperiodad"/>
</logger>
But the "root logger" (?) caseportal.log still logs these TRACE
messages, so they appear there (and in cp-retentionperiodad.log).
Is there a better way to log some packages *only* to another log?
If not, how can I get this to work?
The complete logback.xml is attached.
Many Thanks and Merry Christmas for those who celebrate this!
--
Felix Natter
-------------- next part --------------
A non-text attachment was scrubbed...
Name: logback.xml
Type: application/xml
Size: 5682 bytes
Desc: not available
URL: <http://mailman.qos.ch/pipermail/logback-user/attachments/20161226/7f191529/attachment.xml>
More information about the logback-user
mailing list