【问题标题】:NLog - Capture host's ip addressNLog - 捕获主机的 IP 地址
【发布时间】:2019-03-26 18:56:27
【问题描述】:

我正在尝试在 .NET Core 2.0 应用程序中捕获主机/服务器的 IP 地址。 ${machinename} 变量捕获服务器的名称,但如何捕获服务器的 IP 地址?这个名字对我的团队来说毫无意义,但 IP 地址很重要。

【问题讨论】:

标签: ip ip-address nlog host


【解决方案1】:

假设您有一个静态 IP 地址,那么您可以这样做:

var localIpAddress = LookupIpAddress(); // See https://stackoverflow.com/a/50386894/193178
NLog.GlobalDiagnosticsContext.Set("LocalIpAddress", localIpAddress);

然后你可以像这样使用它的目标布局:

layout="${longdate}|${level}|${logger}|${message}|${gdc=LocalIpAddress}"

如果您的 IP 地址有时会发生变化,那么您可以设置一个后台线程/计时器来刷新 NLog-GDC 值。

另请参阅:https://github.com/NLog/NLog/wiki/Gdc-layout-renderer

【讨论】:

【解决方案2】:

NLog 4.6.8 已经发布,包括${local-ip}:

https://github.com/NLog/NLog/wiki/Local-IP-Address-Layout-Renderer

【讨论】:

    猜你喜欢
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    相关资源
    最近更新 更多