0

この例外 の取得 ファイル サイズが許可された制限を超えているため、次を使用してイベント ビューアに書き込むときに保存できませんEventLog

使用したコード:

                    string cs = "LoggingService";
                    EventLog elog = new EventLog();

                    if (!EventLog.SourceExists(cs))
                    {
                        EventLog.CreateEventSource(cs, cs);
                    }

                    elog.Source = cs;
                    elog.EnableRaisingEvents = true;

                    elog.WriteEntry(message);

スタックトレース:

System.ComponentModel.Win32Exception (0x80004005): The file size exceeds the limit allowed and cannot be saved
   at System.Diagnostics.EventLogInternal.get_OldestEntryNumber()
   at System.Diagnostics.EventLogInternal.StartRaisingEvents(String currentMachineName, String currentLogName)
   at System.Diagnostics.EventLogInternal.set_EnableRaisingEvents(Boolean value)

試したこと:

  1. http://support.microsoft.com/kb/328380#top
  2. このステートメントを elog.Clear()前に置くelog.EnableRaisingEvents = true; と、別の例外が発生します

    System.ComponentModel.Win32Exception (0x80004005): System.Diagnostics.EventLogInternal.Clear() でアクセスが拒否されました

上記のコードは、コンピューター上で完全なアクセス許可を持つLocalSystemで実行される Web サービスによって実行されます。

OS: Windows サーバー 2008R2 および .NET 4.0

4

2 に答える 2

1

ログ ポリシーを変更するメソッド EventLog.ModifyOverflowPolicy があります。EventLog.ModifyOverflowPolicy(OverflowAction.OverwriteAsNeeded,0) が役立つと思います。

于 2012-08-30T20:20:13.903 に答える
-1

イベントビューア-プロパティ-最大ログサイズは1028でした。ぶつけて、正常に動作し始めました。

しかし、上記の変更を行う前は、同じコードが別のウィンドウサービスから機能していました。何が起こったのか考えさせられます

ログに記録しようとしたメッセージは1行(255文字未満)でした

于 2012-08-30T20:35:46.913 に答える