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