用EventLog类可以向windows事件查看器写入程序运行中的一些log信息。
使用EventLog类需要添加引用using System.Diagnostics;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Data.SqlClient;
using System.Data;
using System.Data.Sql;
using System.Configuration;
using System.Runtime.Serialization.Formatters.Binary;
//using System.Runtime.Serialization.Formatters.Soap;
//using System.Xml.Serialization;
using System.Xml.Serialization;
using System.Xml;
using System.Diagnostics;
using System.Threading;
using System.Runtime.Remoting.Messaging;
using System.Net;
using System.Net.Sockets;
using System.Runtime.Serialization;
//using Newtonsoft.Json;
//using TestingForGAC;
namespace FirstConsole
{
class TestEventLog
{
private static object _lockOjbLog = new object();
public static EventLog _eventLog;
private EventLog MyEventLog
{
get
{
lock (_lockOjbLog)
{
if (_eventLog == null)
{
_eventLog = new EventLog("TestingLogName");
_eventLog.Source = "TestSource";
}
}
return _eventLog;
}
}
public void WriteLog()
{
MyEventLog.WriteEntry("This is a testing log..." + DateTime.Now.ToLocalTime(),EventLogEntryType.Error);
}
}
class Program
{
public static void Main(string[] args)
{
TestEventLog tel = new TestEventLog();
tel.WriteLog();
Console.WriteLine("Hit Q to exit");
ConsoleKey key;
do
{
key = Console.ReadKey().Key;
} while (key != ConsoleKey.Q);
}
}
}
程序运行后在Wndows EventViewer中查看结果
如果要移除该EventLog,则可以使用Windows powershell命令:
remove-eventlog -logname TestingLogName