- - PR -
JavaアプリでLog4jを使ってログを残したいです。
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-04-19 18:41
皆さんこんにちは
Log4Jに関してして質問がありま〜〜す〜〜 問題:ログファイルの生成ができません。 質問:ログファイルを生成する方法が知りたいです。 環境 −OS:Windows 2000 professionnal sp4 −JKD:1.4.2_04 −媒体:Javaアプリ --> アプリのjreで実行(実行jarファイル) −Log4j:1.2.7 −appender:DailyRollingFileAppender 現状 −*Javaアプリとサーブレット間通信です。 @JavaアプリからHttpでサーブレットを呼び出してソケットを開いて待つ。 AサーブレットはJavaアプリからHttpで呼び出されてDBに問い合わせ。 B問い合わせの結果をJavaアプリにソケットで返す。 CJavaアプリはサーブレットからソケットで受け取った内容をログファイルに出力。 D1日毎にログファイルを残す。-->DailyRollingFileAppender。 MANIFESTファイルにclasspath設定でLog4j-1.2.7.jarファイルの場所を指定している。 log4j.propertiesファイルは実行ファイルと同じ場所にある。 ログファイル名称は:filelog バックアップファイル名称:file.2004-04-17 log4j.propertiesファイル内容 log4j.rootCategory=DEBUG, D log4j.appender.D=org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File=c:/log/file log4j.appender.D.DatePattern='.'yyyy-MM-dd log4j.appender.D.layout=org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS} %F:%L(%M) - %m%n Javaアプリでログを書くソース public class File1 { public void writeFile() { Category cat = Category.getInstance(File1.class.getName()); cat.debug("file document..."); } } 不思議なのはこのJava実行ファイルの変わり簡単なJavaファイル(MyApp.java)を 1個作ってテストして見ましたが、ちゃんとログファイルを書けました。 テスト用のJavaファイル public class MyApp { static Category cat = Category.getInstance(MyApp.class.getName()); public MyApp() {} public static void main(String [] args) { cat.debug("file document..."); } } File1のcat(ログインスタンス)をクラス内で生成しても、メソット内で生成しても、ログを 書けませんでした。 Log4J-1.2.7.jarとlog4j.propertiesは同じ物を同じ場所で使ってますから、 ソースを書けた時と書けなかった時の差はログを書くJavaアプリが違うだけなので、 ログを書くソースの問題かな?と思いますが、何が問題化はわかりません。 誰か解決方法あれば教えてください。 よろしくお願いします。 |
|
投稿日時: 2004-04-20 14:31
おそらくlog4j.propertiesを見つけられていないと思います。まずMANIFESTのクラスパス
設定にカレントディレクトリ(.)を入れてみてください。それで動かなかったら、log4j.propertiesをjarファイルに入れて動くかどうか試してみてはどうでしょうか。 |
1
