Hi°我需要为我的java应用程序创建一个日志文件,但我无法做到。我正在使用Netbeans在Windows上工作,这是代码:
public class Logger {
public static final java.util.logging.Logger logger;
static {
try {
boolean append = true;
FileHandler fh = new FileHandler("log.txt", append);
fh.setFormatter(new SimpleFormatter());
logger = java.util.logging.Logger.getLogger("log");
logger.addHandler(fh);
logger.setUseParentHandlers(false);
}
catch (IOException ex) {
throw new RuntimeException("Error al inicializar el logger. " + ex.getLocalizedMessage());
}
}
}
这就是我在日志文件中写的方式:
Logger.logger.log(Level.SEVERE, "Error en ejecucion de SQL: '{}'", ex);
我在jsp文件中调用我的logger类,但是从不创建日志文件。我发现它很奇怪,因为我在其他项目中有完全相同的代码并且工作正常。我开始相信它可能是关于jsp的东西.. 想法?请
答案 0 :(得分:1)
您不需要以编程方式创建日志文件。
只需在项目的类路径中添加log4j.properties
或log4j.xml
文件,它就会由log4j自动创建。
使用Apache log4j™日志记录可获得更好的效果。
在Using Log4j 2 in Web Applications Apache Log4j手册
下更好地解释了它答案 1 :(得分:0)
尝试更改:
logger = java.util.logging.Logger.getLogger("log");
为:
logger = java.util.logging.Logger.getLogger(this);