Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Playframework 多个记录器,在logback中的每个记录器都有特定的附加器_Playframework_Playframework 2.1_Logback_Appender - Fatal编程技术网

Playframework 多个记录器,在logback中的每个记录器都有特定的附加器

Playframework 多个记录器,在logback中的每个记录器都有特定的附加器,playframework,playframework-2.1,logback,appender,Playframework,Playframework 2.1,Logback,Appender,我使用的是Play框架,其中logback是默认的记录器引擎。我想在两个单独的文件中记录两个不同的活动(登录和事务),以便于跟踪。为此,我有两个附加器和两个记录器。每个记录者都有特定的附加器标记 <appender name="TRANSACTION" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeB

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

<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>

${application.home}/logs/transaction/transaction-%d{yyyy-MM-dd-HH}.log
%消息%n
${application.home}/logs/log-in-record.log
%日期-[%level]-来自%logger,位于%thread%n%消息%n%xException%n
我想通过事务日志记录事务活动,如
play.logger.of(“事务”).info(“测试事务日志\r\n另一行”)
并在登录中登录或注册相关活动,如
play.logger.of(“登录”).info(“用户X已登录…”)

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

编辑
“不工作”是指将同一个日志附加到两个记录器,而不是特定于特定日志。例如,如果我调用
play.Logger.of(“登录”).info(“用户X已登录…”)从我的播放代码中,事务登录记录者正在记录用户X已登录。。。添加到两个不同的文件。

您需要将
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>

您需要向记录器添加
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>


你说的“不工作”到底是什么意思?根本没有日志消息?@BalázsMáriaNémeth:我的编辑内容低于原始帖子。谢谢你富有成效的询问。我正在查看,但找不到答案。如果您在这里没有得到任何答复,请尝试播放框架谷歌群组列表。@Khalidaifullah-您在开发和生产模式下运行应用程序时,是否看到行为上的任何差异?@Khalidaifullah:请参考我几天前回答的问题,您所说的“不工作”到底是什么意思?根本没有日志消息?@BalázsMáriaNémeth:我的编辑内容低于原始帖子。谢谢你富有成效的询问。我正在查看,但找不到答案。如果您在这里没有得到任何答复,请尝试播放框架谷歌群组列表。@Khalidaifullah-您在开发和生产模式下运行应用程序时,是否看到行为上的任何差异?@Khalidaifullah:请参考我几天前回答的问题,