人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

log4jを使用してログを監視しているのですが、そこでExceptionが出力されてしまいました。
原因が不明であるため何かよいアドバイスをいただければと思います。

エラーメッセージは以下の通りです。
=================================================================
Exception renaming file C:\logs\server.log to C:\logs\server.bak
プロセスはファイルにアクセスできません。別のプロセスが使用中です。
=================================================================

例外発生時には、大量のデータを処理するという高負荷な状態でした。
そのログを監視中に例外が発生しました。
ただし、例外は処理が半分近く終わった後から発生するようになりました。
処理の最初のほうでは例外は発生しておらず、正常に動作しておりました。

以上。よろしくお願いします。

●質問者: m-terada
●カテゴリ:コンピュータ
✍キーワード:Log4J アクセス アドバイス エラーメッセージ データ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● y-kawaz
●20ポイント

エラーメッセージを見る限り、単純に C:\logs\server.log ファイルを開いているプロセス(プログラム)が居るからだと思います。

処理が半分近く終わった後から例外が発生するという辺りから予想するに、恐らくログのファイルサイズが一定サイズを超えたらリネームしてログをローテートされる設定になっていて、処理が後半にさしかかる=ログファイルサイズが一定サイズを超えたときにリネームをしようとして失敗しているんじゃないかと考えられます。

もしそうだとしたらログ出力量を減らしたら例外が発生しなくなるんじゃないでしょうか?(ログファイルが一定サイズに達する前に終わるので)


根本的にはlog4jの設定ミスかバグだと思います。

◎質問者からの返答

ご回答ありがとうございます。

申し訳ありませんが、情報が少なかったため追加いたします。

・使用OS: Windows 2000 Advanced Server

・log4j version 1.2.8

・java version 1.4.2_13

・現在稼働中のシステムで、ログローテイトは正常に動作している

・高負荷な状態でエラーが発生

・logファイルを使用している別プロセスは存在しない

リネームでエラーが発生しているということは読み取れるのですが、

これがlog4jのバグであるのか、log4jの設定でこのような現象が起こるのかを知りたいと思っております。

よろしくお願いします。


2 ● nexus5615
●50ポイント

http://java-ja.yoshiori.org/index.php?log4j%E3%81%A8%E6%8E%92%E4...(Win)

プレビューで見るとURLが分断されてしまっているので、リンクのURLの末尾に「(Win)」を足してください。

で、確証は無いですが上記サイトには、Windows版のlog4jにはOSの問題で、質問のような不具合がでるという情報があります。

logbackという代替製品の情報もありますので、参考になるかと思います。

◎質問者からの返答

ご回答ありがとうございます。

log4jのバグという可能性が濃厚ですね。

log4jを別の製品に変更することは出来ないため、他の方法を考えたいと思います。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ