- PR -

log4netで出力しているファイルを参照する方法

1
投稿者投稿内容
シュガー
会議室デビュー日: 2006/08/04
投稿数: 3
投稿日時: 2007-03-20 01:27
始めましてsugarwingと申します。

現在、log4netでログを出力しているのですが、そのログを参照してログの管理を
しようとしています。

そこで、問題が発生しました。
log4netで出力中のファイルにアクセスしようとすると「別プロセスで使用しています」
という例外が発生し、参照することができません。

別プロセスで使用中のファイルを読み込める方法があればご教授ください。

<ファイルアクセスコード>
Dim fs As FileStream = New FileStream(Path, IO.FileMode.Open, IO.FileAccess.Read)
Dim sr As StreamReader = New IO.StreamReader(fs, System.Text.Encoding.Default)
Do Until sr.EndOfStream
Dim line As String = ReadLine(sr)
中略
Loop
sr.Dispose()
fs.Dispose()


もしくはlog4netの設定で回避できるのであればそちらでもかまいません。
(log4netの設定はxmlにて"hoge.log"にファイル出力するように設定されています)

<appender name="FileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="hoge.log" />
<param name="AppendToFile" value="true" />
(中略)
</appender>

よろしくお願いいたします。

[ メッセージ編集済み 編集者: シュガー 編集日時 2007-03-20 01:37 ]
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2007-03-20 11:25
引用:

シュガーさんの書き込み (2007-03-20 01:27) より:
log4netで出力中のファイルにアクセスしようとすると「別プロセスで使用しています」
という例外が発生し、参照することができません。

別プロセスで使用中のファイルを読み込める方法があればご教授ください。

<ファイルアクセスコード>
Dim fs As FileStream = New FileStream(Path, IO.FileMode.Open, IO.FileAccess.Read)


Dim fs As FileStream = New FileStream(Path, IO.FileMode.Open, IO.FileAccess.Read, FileShare.ReadWrite)
1

スキルアップ/キャリアアップ(JOB@IT)