我正在尝试构建(出于学习目的)我自己的事件记录器;我对使用非 .net 框架而不是构建自己的框架不感兴趣,因为我这样做是为了更好地理解 .net。
这个想法是有一个事件系统,我可以将其写入日志文件和/或在程序内部提取。为此,我正在创建一个LogEvent
将存储在Queue<LogEvent>
.
我计划在LogEvent
课堂上使用以下字段:
private EventLogEntryType _eventType //enum: error, info, warning...
private string _eventMessage
private Exception _exception
private DateTime _eventTime
我不确定是捕获导致事件被调用的对象的最佳方法。我想过只是做一个private Object _eventObject;
,但我认为这不是线程安全的。
任何关于如何最好地存储调用事件的对象的建议将不胜感激。我也愿意接受您可能提出的任何其他建议。
谢谢,托尼