0

asp.netプロジェクトのエラーログのイベントログを作成します。regeditにキーを追加してから、サブキーを追加します。
時々、新しいキーとサブキーを作成し、新しい空のイベントログを取得する代わりに、イベントビューアに別のプロジェクトのログが表示されていることを確認します。これがいつ起こるかについてのパターンを見つけることができません。
誰かがそのような問題に遭遇しましたか?私は何か間違ったことをしていますか?

4

2 に答える 2

3

これを行うには、おそらくEventLog.CreateEventSourceAPIを使用する必要があります。詳細を処理する必要があります。

ドキュメントをざっと読んだところ、最初の8文字が一意性についてチェックされていることがわかりました...おそらくそれがあなたの問題です。

編集:Reflectorから、APIはこれを行います...

  1. 無効な文字をチェックします(Unicodeカテゴリに基づく「印刷不可」、\、* 、?)
  2. 作成されたregキーが254文字未満になることを確認します
  3. ソースがすでに登録されているかどうかを確認します
  4. ログ名が予約されていないことを確認します(AppEvent、SecEvent、SysEvent)
  5. 同じ開始8文字の別のログをチェックします
  6. ログ名がソースとして存在しないことを確認します
  7. ログサブキーを作成します
  8. ログサブキーをデフォルト値で初期化します(MaxSize = 524288、AutoBackupLogFiles=9。保持=604800、ファイル=%SystemRoot%\ System32 \ config \ logName.Substring(0、8)+ ".evt")
  9. OSが>WindowsNT 5.x(Vista以降)でない場合、logNameとソース名を使用してログキーに複数の文字列値を作成します。または、値が存在する場合は、既存の配列にソース名を追加します。
  10. ソースのサブキーを作成します
  11. ソースサブキーをデフォルト値(EventMessageFile、ParameterMessageFile、CategoryMessageFile、CategoryCount)で初期化します
于 2008-12-10T09:34:36.893 に答える
-2

問題は、その名前のイベント ログを既に作成していたことにあるようで、それを削除しても役に立ちませんでした。解決策は、別の名前でイベント ログを作成することでした。

于 2009-02-15T08:34:36.663 に答える