我需要知道如何打印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();
}
}
}
创建的日志文件不包含任何日志信息。如何修复此代码以在日志文件中获取信息消息?
我认为默认的日志级别是Level.ERROR
,这意味着只有调用log.error()
(而不是其他)才会记录日志信息。您需要配置您实际需要的日志级别,例如,通过添加以下内容:
appender.setThreshold(Level.INFO);
这意味着您的记录器将输出INFO优先级及以上的所有消息。当然,您可以设置较低的级别,如Level.DEBUG
。
编辑
另一方面,您的日志不是静态的,但它是从静态方法中使用的,所以您需要更改它。