NLog-捕获主机的IP地址

时间:2019-03-26 18:56:28

标签: ip ip-address nlog host

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

2 个答案:

答案 0 :(得分:0)

假设您拥有一个静态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

答案 1 :(得分:0)

NLog 4.6.8已发布,其中包括${local-ip}

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

相关问题