Регистрация в реальном времени - PullRequest
0 голосов
/ 18 марта 2020

Как настроить NLOG, чтобы иметь реальное время в файле журнала? Под реальным временем я подразумеваю время, когда была выполнена операция (точнее, когда был вызван метод журнала).

<target name="file" xsi:type="File"
        layout="${longdate}|${level:uppercase=true}|${logger}|${message}|${exception:format=toString}"
        fileName="D:/Logs/${shortdate}.log" />

{longdate} представляется записью в файл журнала date / время.

1 Ответ

1 голос
/ 18 марта 2020

Когда вы вызываете Logger, он создает объект LogEventInfo, который захватывает временную метку.

log.Info("Hello World");   // Captures timestamp

При использовании макета NLog ${longdate} он выводит исходную захваченную временную метку. Независимо от того, сколько времени потребуется LogEventInfo для достижения конечной цели NLog, он всегда будет печатать захваченную метку времени.

Любые проблемы, связанные с точностью или задержкой, вероятно, вызваны источником времени по умолчанию:

https://github.com/NLog/NLog/wiki/Time-Source

Любые проблемы с производительностью NLog FileTarget, вероятно, можно устранить с помощью KeepFileOpen=true и ConcurrentWrites=false:

https://github.com/NLog/NLog/wiki/Performance

...