如何配置Logback以将主机名/ IP添加到每个日志事件?

Nip*_*dar 12 logback

我正在使用Logback进行日志记录.Scribe appender将日志实时发送到中央Scribe聚合器.但我不知道如何在日志中为每个日志事件添加源机器IP.查看聚合的中央Scribe日志,几乎不可能知道哪台计算机正在发送日志.因此,将源计算机的IP附加到每个日志事件将会很有帮助,如果我们可以通过logback配置来控制它,那将非常好.

iTa*_*ake 9

可以通过contextName将主机名传递给远程接收器.
在所有appender上添加以下logback.xml:

<contextName>${HOSTNAME}</contextName>
Run Code Online (Sandbox Code Playgroud)

然后,在聚合器实例上,它将可用于包含在模式中:

<pattern>%contextName %d %-5level %logger{35} - %msg %n</pattern>
Run Code Online (Sandbox Code Playgroud)


Ron*_*ero 5

根据Logback 文档,现在可以CanonicalHostNamePropertyDefiner明确地将主机名添加到您的日志中。为您的项目添加定义:

<define name="hostname" class="ch.qos.logback.core.property.CanonicalHostNamePropertyDefiner"/>

并将其作为 ${hostname}


Mr.*_*r.Q 2

好吧,如果您正在开发客户端服务器项目,那么您可以在此处使用 slf4j/logback 完整文档的 MDC 功能,在这种情况下,您可以拥有一个结构良好的日志文件,您可以识别哪个日志适用于哪个客户端

希望这可以帮助!