log4j †log4jを使ってみたメモ。 Log4j の出力先をコードで変更する †例えば、"hoge" というディレクトリに出力する場合、System.property に設定。
で、log.dir を log4j.xml から参照する。 log4j.xml
この設定を反映させる。
渡すパスはアプリケーションのルートディレクトリの下という前提。
とするか、Servlet なら
などとする。 Tomcat 5.5 でログ出力エラー †ファイルの読み書きをするときに、パーミッションが不正というエラーが出ることがある。 例えば、ログファイルの書き込みで、 log4j:ERROR setFile(null,true) call failed. java.io.FileNotFoundException: /hoge/app.log (Permission denied) at java.io.FileOutputStream.openAppend(Ljava.lang.String;)V(Native Method) at java.io.FileOutputStream.<init>(FileOutputStream.java:177) at java.io.FileOutputStream.<init>(FileOutputStream.java:102) ... とか。 ディレクトリのパーミッションを777とかに変更してもやはり状況変わらず。 そんなときは、Tomcatのセキュリティをはずしてみると上手くいくことがある。 /etc/init.d/tomcat5 を次のように変更。 # Use the Java security manager? (yes/no) #TOMCAT5_SECURITY=yes ←コメントアウト TOMCAT5_SECURITY=no 参考 † |