2011-06-29 42 views
0

在Windows 7和Server 2008的事件查看器寫入事件到自定義區域存在的...創造一個地方,在「應用程序和服務日誌」

應用程序和服務日誌

文件夾我想創建一個地方,記錄來自我的應用程序的所有事件。你如何在這個區域創建一個日誌?從事件查看器中,我所看到的只是「創建視圖」,這看起來只是一種創建特定日誌中事件的過濾視圖的方法。

創建完成後,如何爲其寫入事件?

例如,如果我的日誌被命名爲 'StackApp',你只需要使用...

EventLog.WriteEntry('StackApp', message); 

謝謝!

回答

2

,如果你的事件日誌的創建,那麼你可以做日誌EventLog.WriteEntry("StackApp", message);

//create a log 
string source; 
string logName; 
string machineName;//use "." for this machine 

if (!EventLog.Exists(logName, machineName)) 
{ 
    EventSourceCreationData creationData = new EventSourceCreationData(source, name); 
    EventLog.CreateEventSource(creationData); 
} 

更多操作:

//find your log in the windows EventLog by name 
EventLog log = null; 
foreach (EventLog eventLog in EventLog.GetEventLogs()) 
{ 
    if (string.Compare(eventLog.Log, logName, true) == 0) 
    { 
     log = eventLog; 
     break; 
    } 
} 

//modify log settings 
log.ModifyOverflowPolicy(OverflowAction.OverwriteAsNeeded, 7); 
log.MaximumKilobytes = MaxLogSize; 

//write to event to log 
EventLog.WriteEntry(source, message); 

//more advance writing to log instance 
long instanceId; 
int categoryId;; 
EventLogEntryType entryType; 
byte[] binaryData; 
object[] values; 

EventInstance eventInstance = new EventInstance(instanceId, categoryId, entryType); 
log.WriteEvent(eventInstance, binaryData, values); 
相關問題