Windowsサービスを作成しました。私はイベントログを作成します。C#を使用してカスタムイベントログを作成する方法
public Service1()
{
InitializeComponent();
this.ServiceName = ConfigurationManager.AppSettings.Get("ServiceName");
string sourceName = ConfigurationManager.AppSettings.Get("ServiceName");
string logName = ConfigurationManager.AppSettings["EventLogName"];
try
{
if (!System.Diagnostics.EventLog.Exists(sourceName))
System.Diagnostics.EventLog.CreateEventSource(sourceName, logName);
eventLog.Source = sourceName;
eventLog.Log = logName;
}
catch
{
eventLog.Source = "Application";
}
}
初期化中、サービスがインストールされ、ログは作成されません。ログエントリは、システムのApplication
ログにあります。
私は何を欠席しましたか?
私は、イベントログを作成するために、どのようにインストール
public ProjectInstaller()
{
InitializeComponent();
this.Installers.Add(GetServiceInstaller());
this.Installers.Add(GetServiceProcessInstaller());
}
private ServiceInstaller GetServiceInstaller()
{
serviceInstaller.ServiceName = GetConfigurationValue("ServiceName");
serviceInstaller.Description = GetConfigurationValue("Description");
serviceInstaller.StartType = System.ServiceProcess.ServiceStartMode.Automatic;
return serviceInstaller;
}
private ServiceProcessInstaller GetServiceProcessInstaller()
{
serviceProcessinstaller.Account = ServiceAccount.LocalSystem;
return serviceProcessinstaller;
}
にプロセスのインストーラを使用?
私はあなたのコードを試してみました。イベントログを作成せず、サービスを開始できませんでした。サービスはサービスを開始できないことを示します。 System.ArgumentException:ソース 'SyncronizationService'がログ 'SyncronizationLog'に登録されていません。 「ソースとログのプロパティが一致する必要があります。または、空の文字列にLogを設定すると、自動的にSourceプロパティに一致します。エラーメッセージ – Pooja
logNameはユニークな最初の文字を持って、このリンクを確認してください。http://msdn.microsoft.com/en-us/library/y7x55536%28v=vs.90%29.aspx – Mhmd