私はコンソールに何も出力しないJava EE Webアプリケーションで作業しています。これはlog4jを使用し、log4j.propertiesファイルはstdoutに出力するように設定されています。ただし、機能していないため、コンソールにログが表示されません。 System.outでもコンソールに表示されないことが判明しました。何が原因でしょうか?Javaがコンソールに書き込まれない
私はMyEclipse 10.1、log4j-1.2.11、tomcat 5.5.35、java 1.6.0_31を実行しています。要求ごと
、ここに私の.propertiesファイルです:
### direct log messages to stdout ###
# Configure Root Logger
log4j.rootLogger = DEBUG, stdout
log4j.logger.org.hibernate = DEBUG, stdout
#log4j.logger.org.springframework = ERROR, stdout
# Configure stdout Appender
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =%d [%t] %-5p %c - %m%n
ハンドラログイン:私は開始と停止するのMyEclipseを使用
public class LogHandler {
private static Logger sLog = Logger.getLogger(LogHandler.class);
public LogHandler(){
}
public void info_toLOG(String msg00) {
sLog.info("\n" + msg00 + "\n");
}
public void error_toLOG(Exception e) {
sLog.error("\n" + e.getClass() + "\n"
+ e.getCause() + "\n"
+ e.getMessage() + "\n"
+ e.getLocalizedMessage() + "\n"
+ e.getStackTrace().toString() + "\n");
}
public void warning_toLOG(String msg00) {
sLog.warn("\n" + msg00 + "\n");
}
}
が。ちょうど私のtomcatのインストールディレクトリをポイントします。 MyEclipseのは、以下のVMの引数を追加しました:
-Dcatalina.home="<tomcat dir>"
-Dcatalina.base="<tomcat dir> "
-Djava.endorsed.dirs="<tomcat dir>/common/endorsed"
-Djava.io.tmpdir="<tomcat dir>/temp"
-Djava.library.path=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin:"<tomcat dir>/bin"
-Dsun.io.useCanonCaches=false
-Xmx1024M
EDIT: を手助けしようとした人たちに感謝します。元の質問には、Mac OS X 10.7.3を実行していると述べたはずです。 「ユーティリティー」 - >「Javaプリファレンス」 - >「詳細設定」 - >「Javaコンソール」の設定がありました。
log4j設定(http://logging.apache.org/log4j/1.2/manual.html)は扱いにくいことがあります。典型的なセットアップでは、特定のカテゴリのログメッセージを処理するためのリスナーがあり、各リスナーはさまざまな宛先(log4jのものではなく、私の用語)に出力を出力できます。プロパティファイルと、ロギング操作を実行するJavaコードの例行を投稿できる場合は、問題の原因を指摘できます。 –