- - PR -
イベント情報をテキストに
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-03-05 17:00
いつもありがとうございます。
MSDNの 「イベント情報をテキストファイルに書き込む」 を見てapp.confinを追加し locationとcustomlocationのコードをapp.configに 追加したのですが 「locationは宣言されていません」のエラーになってしまいます。 対処方を教えて頂けませんか。 宜しくお願いします。 |
|
投稿日時: 2008-03-05 18:37
エラーではなく警告と思われるので、ビルド可能だと思います。
MSDNの情報=警告等一切無しで使える とは限らないのでご注意を。 一応、app.configファイルを閉じさえすれば警告は表示されないはずです。 |
|
投稿日時: 2008-03-06 09:28
おはようございます。
確かにくまっちさんの言われる通りです。 指定したフォルダにテキストファイルが書かれました。 ありがとうございます。 |
|
投稿日時: 2008-03-06 10:54
すいません、もう1点教えて下さい。
Catch ex As SqlClient.SqlExceptionで My.Application.Log.WriteException(New Exception(ex.Message)) とするのですがapp.configでは <sources>要素に <!-- アプリケーション イベント ログに書き込むには、以下のセクションのコメントを解除します --> と<sharedListeners>要素にも <!-- アプリケーション イベント ログに書き込むには、以下のセクションのコメントを解除して、APPLICATION_NAME をアプリケーション名に置き換えます --> と2つありますが <sharedListeners>要素だけコメント解除だけでいいのか 両方アプリケーション イベント ログに書き込むには となっていますが違いはあるのですか? |
|
投稿日時: 2008-03-06 12:41
この場合、両方のコメントを解除する必要が在ります。
app.configのデフォルトの記述は「共有リスナー」として使う場合を考慮された 記述になっていますので、ちょっとややこしいですよね。 トレースリスナーの詳細について、一通り説明されている記事がありましたので 参考にしてみてください。(全7回) トレースリスナーについて(第1回) (次の記事で7回までご覧になれます。) |
|
投稿日時: 2008-03-06 13:15
何度もありがとうございます。
最後にお聞きしたいのですが PCによてDドライブがないものもありますので 固定でcustomlocationにパスを記述するのではなく app.configのcustomlocationに パスを渡したいのですが このようなことは可能なのでしょうか? |
|
投稿日時: 2008-03-06 13:37
My.Application.Log.TraceSource.Listeners([Listener Name])で
目的のリスナーが取得できますので、適切な型にキャストして (今回でしたらMicrosoft.VisualBasic.Logging.FileLogTraceListenerでしょうか) CustomLocationプロパティに設定することで、動的に出力先を変える事が可能です。 |
|
投稿日時: 2008-03-06 14:34
くまっちさん、重ね重ねありがとうございます。
Dim instance As New FileLogTraceListener instance.BaseFileName = "Err" instance.Location = LogFileLocation.Custom instance.CustomLocation = "D:\Err\" instance.TraceData としてみました。 この後、書き込むにはどうしたらよいのでしょうか? 大変申し訳ありません、宜しくお願いします。 |