NLog - 捕获主机的IP地址

问题描述 投票:0回答:1

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

ip ip-address nlog host
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.