我需要知道如何打印log.info消息。我不知道如何使用记录器。但是我使用netbeans尝试了这个代码,这不起作用。这是代码:
public class login {
Logger log = Logger.getLogger("myFirstLog");
public static void main(String arg[]) {
initLogger();
LoginUser();
}
public static void LoginUser() {
log.info("user logged in");
}
public static void initLogger() {
try {
String filePath = "E:/myFirstLog.log";
PatternLayout layout = new PatternLayout("%-5p %-10d %m %n");
RollingFileAppender appender = new RollingFileAppender(layout, filePath);
appender.setName("myFirstLog");
appender.setMaxFileSize("1MB");
appender.activateOptions();
Logger.getRootLogger().addAppender(appender);
} catch (IOException e) {
e.printStackTrace();
}
}
}
创建一个没有日志信息的日志文件。如何修复此代码以获取日志文件中的信息消息?
答案 0 :(得分:1)
我认为默认日志记录级别为Level.ERROR
,这意味着只调用log.error()
(而不是其他任何内容)将导致记录日志信息。您需要配置实际需要的日志级别,例如添加这个:
appender.setThreshold(Level.INFO);
这意味着您的记录器将输出INFO优先级及以上的每条消息。当然,您可以设置较低级别,例如Level.DEBUG
。
另一方面,您的日志不是静态的,而是使用静态方法,因此您需要更改它。