- - PR -
Log4jで相対パスで出力のログファイルを設定できますか?
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-02-24 12:08
こんにちは!
Log4jでは、Propertiesファイルの中に下記のようにログファイルの発生場所を 設定できますが、この設定をすると、ログファイルは/rootの下に発生してしまいます。 log4j.appender.A4.file=/mylog.txt もし、現在のプロジェクトの下にログファイルを発生したければどう設定すれば いいか教えていただけませんか? 私の確認で、下記のように設定しても、ログファイルは/rootの下に発生してしまいます。 log4j.appender.A4.file=mylog.txt _________________ |
|
投稿日時: 2006-02-24 12:42
「現在のプロジェクト」とは何のことですか?[ メッセージ編集済み 編集者: uk 編集日時 2006-02-24 12:42 ] |
|
投稿日時: 2006-02-24 14:35
絶対パス表記じゃない指定で出力できているようですので、表題については「できます」が答えになりそうですね。
「現在のプロジェクトの下」というのが何を指しているのかわかりませんが、出力したいパスを指定すれば良いのではないでしょうか。 結局何がわからないのかがよくわかりません。 JVM の起動ディレクトリが /root になっているのかな?とも思います。 起動ディレクトリを確認するなり、必要なパスを指定するなり、log4j のソースコードを確認するなりしてみてはいかがでしょう。 ソースを確認するなら FileAppender.java あたりになると思います。 |
|
投稿日時: 2006-02-24 17:37
ご返事有難うございます。
「現在のプロジェクト」とは、Tomcatのwebappsの下で稼動しているプロジェクトとのことです。開発しているWebアプリはパッケージとして多くのユーザの環境で稼動したいので、もし相対パスで出力ログファイルのパスを指定できれば、デフォルトでプロジェクト名(固定です)をセットすればユーザに取っては楽ではないかと思います。言い換えれば、ログファイルはプロジェクトのあるディレクトリに出力したいのです。どうすればいいでしょうかご教授ください。 |
|
投稿日時: 2006-02-24 18:21
自己返信です。
Log4jを使っているクラスからの相対出力パスをセットしたければ どうすればいいでしょうか?ご教授ください。 _________________ |
|
投稿日時: 2006-02-25 02:37
システム・プロパティが参照可能です。
log4j.appender.A4.file=${foo}/mylog.txt 上記の場合、起動時に -Dfoo=/path/to/dir と指定すれば /path/to/dir/mylog.txt に出力されます。 [ メッセージ編集済み 編集者: はしもと 編集日時 2006-02-25 02:41 ] |
1