私はこの単純なMain.java
なぜlog4jはJavaアプリケーションでログファイルを作成しますが、Webアプリケーションでは作成しませんか?
package playground;
import org.apache.log4j.Logger;
public class Main {
private final static Logger LOGGER = Logger.getLogger(Main.class.getName());
public static void main(String[] args) {
LOGGER.info("Running main ..");
LOGGER.debug("Reading args:");
for (String arg : args) {
LOGGER.debug(" " + arg);
}
LOGGER.info("All done.");
}
}
を使用してこの構成
# Define the root logger with appender file
log4j.rootLogger = DEBUG, CONSOLE, FILE
# CONSOLE appender
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.conversionPattern=%m%n
log4j.appender.CONSOLE.Threshold=debug
# FILE appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
# Set the name of the file
log4j.appender.FILE.File=/home/user/annotator-log.out
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.FILE.Threshold=info
# Set the append to false, overwrite
log4j.appender.FILE.Append=false
をテストして、それが動作します。ログがコンソールに出力されますと、私は私が唯一のコンソールに出力を見ることができますが、ログファイルが作成され取得されていない私のWebアプリケーションへ.properties
ファイルを置けばファイルが、しかし/home/user/annotator-log.out
で作成されます。
この理由は何ですか?
ここでは、.propertiesファイルを配置しています。あなたのweb.xmlに、あなたのWebアプリケーションがlog4j.propertieファイルを使用する必要があると言いますか? – LearningPhase