【问题标题】:Multiple loggers with specific appender for each of the loggers in logbacklogback 中每个记录器的多个记录器具有特定的附加程序
【发布时间】:2014-01-27 09:06:28
【问题描述】:

我正在使用其中 logback 是默认记录器引擎的 Play 框架。我想在两个单独的文件中记录两个不同的活动(Log inTransaction)以便于跟踪。为此,我有两个附加程序和两个记录器。每个记录器都标有特定的附加程序。

<appender name="TRANSACTION" class="ch.qos.logback.core.rolling.RollingFileAppender">
  <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
     <fileNamePattern>${application.home}/logs/transaction/transaction-%d{yyyy-MM-dd HH}.log</fileNamePattern>
  </rollingPolicy>
  <encoder>
     <pattern>%message%n</pattern>
  </encoder>
</appender>
<appender name="LOGIN" class="ch.qos.logback.core.FileAppender">
  <file>${application.home}/logs/log-in-record.log</file>
  <encoder>
    <pattern>%date - [%level] - from %logger in %thread %n%message%n%xException%n</pattern>
  </encoder>
</appender>

<logger name="transaction" level="INFO">
  <appender-ref ref="TRANSACTION" />
</logger>
<logger name="log-in" level="INFO">
  <appender-ref ref="LOGIN" />
</logger>

我想通过 transaction 记录器记录事务活动,例如 play.Logger.of("transaction").info("Test Transaction Log\r\nHere is another line"); 并在 log-in 记录器中登录或注册相关活动,例如play.Logger.of("log-in").info("user X has logged in ...");

但它不起作用。有什么想法吗?

编辑

“不工作”是指将同一日志附加到两个记录器,而不是特定于特定日志。例如。如果我从我的 Play 代码中调用 play.Logger.of("log-in").info("user X has logged in ...");transactionlog-in 记录器都在记录 用户 X 已登录 ...到两个不同的文件。

【问题讨论】:

  • “不工作”到底是什么意思?根本没有日志消息?
  • @BalázsMáriaNémeth:我的编辑在原帖下方。感谢您的高效查询。
  • 我在看github.com/playframework/playframework/blob/master/framework/…,但找不到答案。如果您在此处未收到任何回复,请尝试使用 play framework google groups list。
  • @KhalidSaifullah - 在开发模式和生产模式下运行应用程序时,您是否发现行为有任何差异?
  • @KhalidSaifullah:请参考我几天前回答的这个问题,stackoverflow.com/questions/21287724/…

标签: playframework playframework-2.1 logback appender


【解决方案1】:

您需要将additivity="false" 添加到您的记录器

<logger name="transaction" level="INFO" additivity="false">
  <appender-ref ref="TRANSACTION" />
</logger>
<logger name="log-in" level="INFO" additivity="false">
  <appender-ref ref="LOGIN" />
</logger>

【讨论】:

    猜你喜欢
    • 2017-05-29
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    • 2014-10-11
    • 2015-09-12
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    相关资源
    最近更新 更多