別のログに書き込む単純な SOAP ベースのアプリケーションがあります。ログは jboss/bin/log の下に作成されますが、空です。Web サービスを jar ファイルとして JBoss AS 6.1 にデプロイします。log4j.properties は、「src」フォルダーのルート ディレクトリの下にあります。
package abc.WebServiceSamples;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.ejb.Stateless;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
@Stateless
@WebService(serviceName = "GreetingService")
public class greeting {
static final Logger logger = Logger.getLogger(greeting.class);
public greeting() {
super();
}
@WebMethod
public String welcome(String s1) {
String str = "Welcome, " + s1;
Properties props = new Properties();
//load from classpath
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("log4j.properties");
// Now pass these properties to PropertyConfigurator
try {
props.load(inputStream);
} catch (IOException e) {
e.printStackTrace(System.out);
}
PropertyConfigurator.configure(props);
logger.debug("Sample debug message");
logger.info("Sample info message");
logger.warn("Sample warn message");
logger.error("Sample error message");
logger.fatal("Sample fatal message");
return str;
}
}
log4j.properties:
log4j.rootLogger=INFO
# AdminFileAppender - used to log messages in the admin.log file.
log4j.appender.AdminFileAppender=org.apache.log4j.FileAppender
log4j.appender.AdminFileAppender.File=log/admin.log
log4j.appender.AdminFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.AdminFileAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
# ReportFileAppender - used to log messages in the report.log file.
log4j.appender.ReportFileAppender=org.apache.log4j.FileAppender
log4j.appender.ReportFileAppender.File=log/report.log
log4j.appender.ReportFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.ReportFileAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
#log4j.logger.com.vaannila.admin=,AdminFileAppender
log4j.logger.abc.WebServiceSamples.greeting=,ReportFileAppender
Java 実行コマンド:
/opt/java/bin/java -server -Xms128m -Xmx512m -XX:MaxPermSize=256m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server .gcInterval=3600000 -Djava.net.preferIPv4Stack=true -Dprogram.name=run.sh -Dlogging.configuration=file:/opt/jboss/bin/logging.properties -Dlog4j.debug=true -Djava.library.path= /opt/jboss/bin/native/lib64 -Djava.endorsed.dirs=/opt/jboss/lib/endorsed -classpath /opt/jboss/bin/run.jar:/opt/java/lib/tools.jar org. jboss.Main -c すべて -b 0.0.0.0
テーリング server/all/server.log:
2012-08-06 15:21:33,688 情報 [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (HDScanner) デプロイ、ctxPath=/ejb_ws_greeting
2012-08-06 15:21:50,929 情報 [STDOUT] ( Finalizer) log4j: [OtherAppender] という名前のアペンダーをファイナライズしています。
2012-08-06 15:21:50,930 情報 [STDOUT] (ファイナライザー) log4j: [ReportFileAppender] という名前のアペンダーをファイナライズしています。
2012-08-06 15:22:37,156 INFO [org.apache.cxf.transport.servlet.AbstractCXFServlet] (http-0.0.0.0-8080-1) サーブレット トランスポート ファクトリは既に登録されています
2012-08-06 15:22:37,164 INFO [STDOUT] (http-0.0.0.0-8080-1) log4j: [root] を値 = [INFO] で解析しています。
2012-08-06 15:22:37,165 INFO [STDOUT] (http-0.0.0.0-8080-1) log4j: レベル トークンは [INFO] です。
2012-08-06 15:22:37,169 INFO [STDOUT] (http-0.0.0.0-8080-1) log4j: カテゴリ ルートが null に設定されました
2012-08-06 15:22:37,169 INFO [STDOUT] (http-0.0 .0.0-8080-1) log4j: [abc.WebServiceSamples.greeting] を値 = [WARN,ReportFileAppender] で解析しています。
2012-08-06 15:22:37,169 情報 [STDOUT] (http-0.0.0.0-8080-1) log4j: レベル トークンは [警告] です。
2012-08-06 15:22:37,169 INFO [STDOUT] (http-0.0.0.0-8080-1) log4j:カテゴリ abc.WebServiceSamples.greeting が null に設定されました
2012-08-06 15:22:37,169 INFO [STDOUT] (http-0.0.0.0-8080-1) log4j: 「ReportFileAppender」という名前のアペンダーを解析しています。
2012-08-06 15:22:37,170 情報 [STDOUT] (http-0.0.0.0-8080-1) log4j: 「ReportFileAppender」のレイアウト オプションを解析しています。
2012-08-06 15:22:37,170 INFO [STDOUT] (http-0.0.0.0-8080-1) log4j: プロパティ [conversionPattern] を [%-4r [%t] %-5p %c %x - % に設定m%n]。
2012-08-06 15:22:37,171 INFO [STDOUT] (http-0.0.0.0-8080-1) log4j: "ReportFileAppender" の解析が終了しました。
2012-08-06 15:22:37,171 INFO [STDOUT] (http-0.0.0.0-8080-1) log4j: プロパティ [ファイル] を [log/report1.log] に設定しています。
2012-08-06 15:22:37,171 INFO [STDOUT] (http-0.0.0.0-8080-1) log4j: setFile が呼び出されました: log/report1.log、true
2012-08-06 15:22:37,171 INFO [STDOUT] ] (http-0.0.0.0-8080-1) log4j: setFile が終了しました
2012-08-06 15:22:37,171 情報 [STDOUT] (http-0.0.0.0-8080-1) log4j: 解析された「ReportFileAppender」オプション。
2012-08-06 15:22:37,171 INFO [STDOUT] (http-0.0.0.0-8080-1) log4j: log4j.additivity.abc.WebServiceSamples.greeting=[null]
2012-08-06 15:22 の処理: 37,172 INFO [STDOUT] (http-0.0.0.0-8080-1) log4j: 構成が完了しました。
2012-08-06 15:22:37,172 情報 [STDOUT] (http-0.0.0.0-8080-1) ようこそ、こんにちはクール
2012-08-06 15:22:37,172 WARN [abc.WebServiceSamples.greeting] (http- 0.0.0.0-8080-1) 警告メッセージの例
2012-08-06 15:22:37,172 ERROR [abc.WebServiceSamples.greeting] (http-0.0.0.0-8080-1) エラー メッセージの例
2012-08-06 15: 22:37,172 FATAL [abc.WebServiceSamples.greeting] (http-0.0.0.0-8080-1) 致命的なメッセージの例
ありがとうございました。