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

时间:2014-05-12 09:25:49

标签: logback

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

3 个答案:

答案 0 :(得分:8)

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

<contextName>${HOSTNAME}</contextName>

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

<pattern>%contextName %d %-5level %logger{35} - %msg %n</pattern>

答案 1 :(得分:1)

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

希望这有帮助!

答案 2 :(得分:1)

根据Logback docs,现在CanonicalHostNamePropertyDefiner明确地向您的日志添加主机名。为项目添加一个定义:

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

并以${hostname}

的形式访问它