NLog - захватить IP-адрес хоста - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь перехватить IP-адрес хоста / сервера в приложении .NET Core 2.0. Переменная $ {machinename} фиксирует имя сервера, но как вы фиксируете IP-адрес сервера? Имя не имеет смысла для моей команды, но IP-адрес имеет решающее значение.

1 Ответ

0 голосов
/ 21 апреля 2019

Допустим, у вас есть статический 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

...