我有一个NLog记忆目标,如described in this SO question。
我的应用程序自己处理日志消息:
var target = (MemoryTarget) LogManager.Configuration.FindTargetByName("memory");
IList<LogEntry> entries = target.Logs.Select(ParseLogEntry).ToList();
target.Logs.Clear();
...
然而,我不时会得到InvalidOperationException
,因为日志条目在我处理时就到了。
由于这是多线程,我知道我需要同步对集合的访问。为了做到这一点,我需要在NLog也使用lock
的内容上使用lock
语句。 NLog中是否存在这样的锁对象?