我正在使用Logback进行日志记录.Scribe appender将日志实时发送到中央Scribe聚合器.但我不知道如何在日志中为每个日志事件添加源机器IP.查看聚合的中央Scribe日志,几乎不可能知道哪台计算机正在发送日志.因此,将源计算机的IP附加到每个日志事件将会很有帮助,如果我们可以通过logback配置来控制它,那将非常好.
可以通过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)
根据Logback 文档,现在可以CanonicalHostNamePropertyDefiner明确地将主机名添加到您的日志中。为您的项目添加定义:
<define name="hostname"
class="ch.qos.logback.core.property.CanonicalHostNamePropertyDefiner"/>
并将其作为 ${hostname}
好吧,如果您正在开发客户端服务器项目,那么您可以在此处使用 slf4j/logback 完整文档的 MDC 功能,在这种情况下,您可以拥有一个结构良好的日志文件,您可以识别哪个日志适用于哪个客户端
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
14757 次 |
| 最近记录: |