问题描述
如何用C#程序获得系统最新产生的日志?
解决方案
解决方案二:
范围也太宽了吧
解决方案三:
那就如何获取某个程序最新的错误日志!
解决方案四:
想要获得事件查看器中的内容?
解决方案五:
是的,要根据日期来获取的,请问如何解决?
解决方案六:
自己写日志,还是系统日志?自己写日志的话,好像有个log4net的可以用,系统日志的话,这个要网上搜搜了~
解决方案七:
调用系统的错误日志,我是要做个监测程序,程序一出错就可以马上得知!
解决方案八:
可以试一下EventLog.EntryWritten事件若要获取事件通知,必须将EnableRaisingEvents设置为true。只有在本地计算机上写入项时,才能接收事件通知。无法接收在远程计算机上写入项时的通知。创建EntryWritten委托时,标识将处理事件的方法。若要使该事件与事件处理程序相关联,请将该委托的一个实例添加到事件中。每当事件出现时就调用事件处理程序,直到移除该委托。有关用委托处理事件的更多信息,请参见使用事件。仅当上一个写入事件至少在六秒种之前发生时,系统才响应WriteEntry。这意味着即使发生了多个事件日志更改,在六秒钟的间隔内您也只会接收到一个EntryWritten事件通知。如果在对WriteEntry的两次调用之间插入足够长的休眠间隔(大约10秒),则错过事件的可能性就会降低。然而,如果写入事件的发生频率更高,则在下次间隔到来之前您可能不会收到事件通知。通常,错过的事件通知并未丢失,而是被延迟了。usingSystem;usingSystem.Diagnostics;usingSystem.Threading;classMySample{//Thismemberisusedtowaitforevents.staticAutoResetEventsignal;publicstaticvoidMain(){EventLogmyNewLog=newEventLog();myNewLog.Log="MyCustomLog";myNewLog.EntryWritten+=newEntryWrittenEventHandler(MyOnEntryWritten);myNewLog.EnableRaisingEvents=true;signal=newAutoResetEvent(false);signal.WaitOne();}publicstaticvoidMyOnEntryWritten(objectsource,EntryWrittenEventArgse){signal.Set();}}
解决方案九:
利用EventLog控件获取应用程序日志信息,定义一个EventLogEntry来获取日志的写入时间