如何在日志文件中打印log.info消息

时间:2015-10-02 06:25:01

标签: java logging netbeans log4j

我需要知道如何打印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();
        }
    }
}

创建一个没有日志信息的日志文件。如何修复此代码以获取日志文件中的信息消息?

1 个答案:

答案 0 :(得分:1)

我认为默认日志记录级别为Level.ERROR,这意味着只调用log.error()(而不是其他任何内容)将导致记录日志信息。您需要配置实际需要的日志级别,例如添加这个:

appender.setThreshold(Level.INFO);

这意味着您的记录器将输出INFO优先级及以上的每条消息。当然,您可以设置较低级别,例如Level.DEBUG

修改

另一方面,您的日志不是静态的,而是使用静态方法,因此您需要更改它。