我正在尝试使用命名记录器来处理Akka和Logback。
我的logback.xml如下所示:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%-5level [%logger{36}] - %msg%n</pattern>
</encoder>
</appender>
<logger name="Gregs.Admin.I" level="INFO" />
<logger name="Gregs.Admin.D" level="DEBUG" />
<logger name="Gregs.Admin.E" level="ERROR" />
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>
...我的application.conf(相关剪辑)如下所示:
akka {
loglevel = "ERROR"
stdout-loglevel = "ERROR"
loggers = ["akka.event.slf4j.Slf4jLogger"]
}
我得到了我期望的日志但是在我的格式中没有看到我的“Gregs.Admin.x”名称。我得到这样的事情:
ERROR [akka.remote.EndpointWriter] - AssociationError [akka.tcp://AWECluster@10.154.147.189:9010] -> [akka.tcp://AWECluster@10.154.147.189:9011]: Error [Association failed with [akka.tcp://AWECluster@10.154.147.189:9011]] [
akka.remote.EndpointAssociationException: Association failed with [akka.tcp://AWECluster@10.154.147.189:9011]
Caused by: akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon$2: Connection refused: /10.154.147.189:9011
]
所以我得到了“akka.remote.EndpointWriter”而不是我想要的记录器名称。
这很重要,因为我的真实应用程序是多节点分布式的,所以我需要一些方法来区分聚合日志文件中不同节点的消息,我希望通过在不同节点上设置不同的记录器名称来实现这一点。