- PR -

log4j 出力ファイルの指定について

1
投稿者投稿内容
ゆん
常連さん
会議室デビュー日: 2003/07/11
投稿数: 32
投稿日時: 2003-07-31 14:31
log4jの設定でlog4j.appender.DebugLog.File=Application.logとしても
ログが出力されません。絶対パスを指定(c:\tmp\Application.log)とすれば
出力されます。

ネットで見るとパスは指定しなくてもよいようです。
何か環境設定に問題があるのでしょうか?
グーフィー
会議室デビュー日: 2003/07/07
投稿数: 9
投稿日時: 2003-08-01 09:38
はじめまして。

つい先日、私も同様の現象に陥りました。

>log4jの設定でlog4j.appender.DebugLog.File=Application.log
とすると、プログラム実行時のカレントにできるようです。
ですから、作成されてないということはないはずです。
私もファイルが作成されていないと思って検索してみたら、ちゃんと
作成されていましたから。

上記の設定内容で実行方法によって出力される個所がかわります。
たとえば
■EclipseからTomcatを実行した場合
ECLIPSE_HOME(Eclipseをインストールしたパス)にlog
が作成されました。

■スタートアップにある「Start Tomcat」で実行した場合
C:\Documents and Settings\XXXXX\スタート メニュー\プログラム\Apache Tomcat 4.1
にlogが作成されていました。

■アプリケーションで実行した場合
実行時のカレント

で、「絶対パスでないとだめなのかな〜」と今は思っています。
参考にでもなれば幸いです。

#みなさんはどうされていますか?
Hush
会議室デビュー日: 2002/04/23
投稿数: 13
投稿日時: 2003-08-01 10:04
私も同様のことで悩みました。
少なくともアプリケーション中に絶対パスを記述することは避けたかったので、最終的にはJNDIを利用してログの出力先を取得するようにしました。
プロパティファイル自体は、アプリケーション中においてJNDI経由で取得した絶対パスを上書きした上でLog4Jを初期化していたのですが、今考えるとプロパティファイル自体をアプリケーション外に置き、それを読み込むほうが良かったかと考えています。
tzk
常連さん
会議室デビュー日: 2002/05/17
投稿数: 35
投稿日時: 2003-08-01 10:05
私も同様の問題にあたり、絶対パス指定にしています。
ファイル名をプロパティファイルから読み込むなどしていますが、もっとスマートなやり方があれば、教えていただきたいです。
1

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