日志线程与MDC中的Akka源

来源:互联网 发布:mac系统怎么关闭finder 编辑:程序博客网 时间:2024/05/16 11:38
日志线程与MDC中的Akka源
日志的记录是异步的,完成日志记录的线程被保存在 Mapped Diagnostic Context (MDC) 的 sourceThread 属性里. 在 Logback 的模式配置中线程名可以通过 %X{sourceThread} 指定:


<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">  <encoder>    <pattern>%date{ISO8601} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>  </encoder></appender>


Note
在应用程序的非Akka的部分也建议使用MDC的 sourceThread 使得这个值在日志里保持一致。


另一个有用的工具是 Akka 的创建logger实例时会捕捉 actor 的地址, 这意味着可以访问到整个actor实例的身份信息来将日志信息与其它信息进行关联(例如:路由的成员)。 这个信息保存在MDC的 akkaSource属性中:


<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">  <encoder>    <pattern>%date{ISO8601} %-5level %logger{36} %X{akkaSource} - %msg%n</pattern>  </encoder></appender>


要了解这个属性所包括的内容(也适用于非actor)的细节见 如何记录日志.
0 0
原创粉丝点击