私はできるようにしたい:
// A logger.
private static final Logger log = LoggerFactory.getLogger(Foo.class);
// Stats logger.
private static final Logger stats = LoggerFactory.getLogger("Stats");
stats
( )にログインするたびに、ログ エントリがStats.logstats.info(...)
というファイルに移動するようにします。へのロギングは正常に動作するはずです。log
私は(おそらく間違って)で次のものを手に入れましたLogback.xml
:
A failed config that adds nothing to the question now ... removed.
ロガー名に基づいてアペンダーを選択する方法を教えてくれるものを見つけることができないようです。ログレベルに基づいて選択する方法はたくさんあります。
追加した
これは私が最終的に得た構成です:
<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>Log.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>Log-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 1MB -->
<maxFileSize>1MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- Check on startup too. -->
<cleanHistoryOnStart>true</cleanHistoryOnStart>
</rollingPolicy>
<encoder>
<pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
</encoder>
</appender>
<appender name="STATS" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>Stats.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>Stats-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 1MB -->
<maxFileSize>1MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- Check on startup too. -->
<cleanHistoryOnStart>true</cleanHistoryOnStart>
</rollingPolicy>
<encoder>
<pattern>%date %msg%n</pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%level %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
<logger name="Stats" level="info">
<appender-ref ref="STATS" />
</logger>
</configuration>
正常に動作しますが、統計は通常のログ ファイルにも記録されますが、これをフィルターで削除する必要がある場合があります。