log 4 jログの構成に関する質問
2395 ワード
サーバ上でlog 4 jを構成するもローカルでlog 4 jを構成するも同じである.まず必ずlog 4 jパッケージlog 4 j-1.2.9を導入する.JAr 2、そして必ず1つのプロファイルがあります.通常、srcの下に置かれている名前(log 4 j.properties)の内容は、大体次のように構成されています.
3、log 4 jを配置する.properties log4j.logger.Log4j_taskDAO=INFO,test//ここのLog 4 j_taskDAOは自分で勝手に定義した名前です.つまり、あるクラスでlog 4 jでエラーを表示しようとしたときに呼び出された名前です.ここのtestも自分で定義したものです.つまり、次の(log 4 j.appender.test)のtestです.
log4j.additivity.org.apache=false log4j.appender.test=org.apache.log4j.DailyRollingFileAppender log4j.appender.test.Threshold=DEBUG log4j.appender.test.ImmediateFlush=true log4j.appender.test.Append=true log4j.appender.test.Encoding=UTF-8 log4j.appender.test.File=/www/log4j.txt//ここでは現在のlog 4 jの格納経路log 4 jを定義する.appender.test.DatePattern='.'yyyy-MM-dd log4j.appender.test.layout=org.apache.log4j.PatternLayout log4j.appender.test.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l\: %m %x %n
以上はlog 4 jのプロファイルでの書き方です
4、それからこのlog 4 jを呼び出します.あるクラスでこのlog 4 jを呼び出したいときは、public static Logger=Loggerと書きます.getLogger("Log4j_taskDAO");ここのlog 4 j_taskDAOはプロファイルで定義されている//これは初期化に相当する//この文は一般的にクラスに置いてメソッドに置かない
5、必要な情報を配置されたパスの下に打ち込む
次に、現在のlog 4 jの問題を印刷したい場合は、loggerと書きます.info("aaa");
一般的にtry catchでログを書き込む例は次のとおりです.
あるいは自分で方法を書く
以上log 4 jの使い方ですが、一般的にサーバ上でエラーをクエリーするのに使われています
3、log 4 jを配置する.properties log4j.logger.Log4j_taskDAO=INFO,test//ここのLog 4 j_taskDAOは自分で勝手に定義した名前です.つまり、あるクラスでlog 4 jでエラーを表示しようとしたときに呼び出された名前です.ここのtestも自分で定義したものです.つまり、次の(log 4 j.appender.test)のtestです.
log4j.additivity.org.apache=false log4j.appender.test=org.apache.log4j.DailyRollingFileAppender log4j.appender.test.Threshold=DEBUG log4j.appender.test.ImmediateFlush=true log4j.appender.test.Append=true log4j.appender.test.Encoding=UTF-8 log4j.appender.test.File=/www/log4j.txt//ここでは現在のlog 4 jの格納経路log 4 jを定義する.appender.test.DatePattern='.'yyyy-MM-dd log4j.appender.test.layout=org.apache.log4j.PatternLayout log4j.appender.test.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l\: %m %x %n
以上はlog 4 jのプロファイルでの書き方です
4、それからこのlog 4 jを呼び出します.あるクラスでこのlog 4 jを呼び出したいときは、public static Logger=Loggerと書きます.getLogger("Log4j_taskDAO");ここのlog 4 j_taskDAOはプロファイルで定義されている//これは初期化に相当する//この文は一般的にクラスに置いてメソッドに置かない
5、必要な情報を配置されたパスの下に打ち込む
次に、現在のlog 4 jの問題を印刷したい場合は、loggerと書きます.info("aaa");
一般的にtry catchでログを書き込む例は次のとおりです.
public static void main(String [] args) {
//Log logger = LogFactory.getLog(test_1.class);
Logger logger = Logger.getLogger("logFile");
Scanner scan=new Scanner(System.in);
String str =scan.next();
int Num=0;
try {
Num = Integer.parseInt(str);
logger.info(" "+Num);
} catch (NumberFormatException e) { // ,
logger.error(e);
System.out.println(" ");
}
System.out.println(" "+Num);
}
あるいは自分で方法を書く
/*
*
* @param logfile
* @param content
* @return void
*/
public static void writelog(String logfile,String content){
try {
OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(new File(logfile),true),"UTF-8");
BufferedWriter writer=new BufferedWriter(write);
writer.write(content);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
以上log 4 jの使い方ですが、一般的にサーバ上でエラーをクエリーするのに使われています