ASP.Net 3.5 Webアプリケーションから、私はWindows EventLogにメッセージを記録しようとしています。イベントログがasp.netアプリケーションで動作していない
私は最初にEntLib Logginhブロックを試しましたが、これが失敗したときに私はEventLogクラスを使って直接試しました。それも失敗しました。彼らは例外をスローしません...ただメッセージを書きません。 EntLibはメッセージをファイルに書き出しましたが、Windows EventLogには書き出しませんでした。私はインストーラクラスのログ&ソースを作成
public static void LogMessage(string title, string message){
//EventLog log = new EventLog();
//log.Source = LOG_SOURCE;
//log.WriteEntry(message, EventLogEntryType.Error);
//EventLog.WriteEntry(LOG_SOURCE, message);
LogWriter writer = EnterpriseLibraryContainer.Current.GetInstance<LogWriter>();
writer.Write(message);
}
:
は、ここに私のコードです。そのコードをここに配置する必要があるかどうかを教えてください。ログはEventViewerで見ることができるので、正しく作成されます。ソースはregeditの "EventLog \ MyLog"フォルダに表示されるので、正しく作成されます。
私が読んで、次の行を述べる記事が役立つ可能性がありますされてきた。
EventLogPermission perm = new EventLogPermission(EventLogPermissionAccess.Administer, ".");
perm.PermitOnly();
が、それはしませんでした。
ことができます場合は、次のように私のコードの構造は次のとおりです。
- クラスライブラリプロジェクト(ここでLogMessageに方法がある)
- クラスライブラリプロジェクト(ここでは例外をキャッチし、LogMessageにを呼び出す方法がある)
- ASPネットのWebアプリケーションプロジェクト(Webページ。この層は、層#2を呼び出します。ここに私のインストーラクラスは、あまりにもある)
- Webセットアッププロジェクト(これはウェブセットアッププロジェクトの出力を指すカスタムアクションを持っている)
何が起こっているのか理解してもらえますか?
おかげ
私は以下のリソースが見つかりました: "http://www.netframeworkdev.com/net-base-class-library/trouble-writing-to-eventlog-16723.shtmlを"、それはそうですそれはASPからカスタムログを作成する可能性はない...まだ
こんにちは@のKD7を占めて与えてみ?何の上の許可???あなたは例がありますか? –
リンクをクリックしましたか? – kd7
あなたが使用している疑いのあるIIS 7では、ASPNETはデフォルトの実行コンテキストアカウントではなく、ネットワークサービスであるため、ネットワークサービスに適切なアクセス許可を与えると便利です – kd7