天天看点

Java中记录日志的方式

Logger类:日志处理类

可通过调用某个 getLogger 工厂方法来获得 Logger 对象。这些方法要么创建一个新 Logger,要么返回一个合适的现有 Logger。

日志消息被转发到已注册的 Handler 对象,该对象可以将消息转发到各种目的地,包括控制台、文件、OS 日志等等。

方法摘要:

getLogger(String name):为指定子系统查找或创建一个 logger。

getAnonymousLogger(String resourceBundleName):创建一个匿名的 Logger。

setLevel(Level newLevel):设置日志级别,指定此 logger 记录的消息级别。

addHandler(Handler handler):添加一个日志Handler以接收日志记录消息。

log(Level level, String msg):记录一条不带参数的消息。

loger.log(Level.INFO, “这是一个消息”);

loger.log(Level.WARNING, “这是一个警告”);

loger.log(Level.SEVERE, “这是一个服务器消息”);

log(Level level, String msg, Throwable thrown):记录带有相关的可抛出信息的消息。

info(String msg):记录一条 INFO 消息。

例如:loger.info(“这是一个消息”); 会在日志文件中添加这条信息–>信息: 这是一个消息。同时也会在控制台打印出信息。

fine(String msg):记录一条 FINE 消息。

例如:loger.fine(“这是一个消息3”); 会在日志文件中添加这条信息–>良好: 这是一个消息。但控制台上不会打印出任何信息。

例如:

public static void testLog() throws SecurityException,IOException {
        Logger loger =Logger.getLogger("test.Test");
        loger.setLevel(Level.ALL);  
        FileHandler fh = new FileHandler("E:/test.log",true);
        loger.addHandler(fh);
        SimpleFormatter sf = new SimpleFormatter();
        fh.setFormatter(sf);
        loger.log(Level.INFO, "这是一个消息");
        loger.log(Level.WARNING, "这是一个警告");
        loger.log(Level.SEVERE, "这是一个服务器消息");
    }
           

FileHandler类:简单的文件日志记录

构造方法摘要:

FileHandler(String pattern, boolean append):初始化要写入给定文件名的 FileHandler(使用可选的 append)。

配置:默认情况下,每个 FileHandler 都是使用以下 LogManager 配置属性执行初始化的。如果没有定义属性(或者属性具有非法值),则使用指定的默认值。

java.util.logging.FileHandler.level 为 Handler 指定默认的级别(默认为 Level.ALL)。

java.util.logging.FileHandler.filter 指定要使用的 Filter 类的名称(默认为无 Filter)。

java.util.logging.FileHandler.formatter 指定要使用的 Formatter 类的名称(默认为 java.util.logging.XMLFormatter)。

java.util.logging.FileHandler.encoding 指定要使用的字符集编码的名称(默认使用默认的平台编码)。

java.util.logging.FileHandler.limit 指定要写入到任意文件的近似最大量(以字节为单位)。如果该数为 0,则没有限制(默认为无限制)。

java.util.logging.FileHandler.count 指定有多少输出文件参与循环(默认为 1)。

java.util.logging.FileHandler.pattern 为生成的输出文件名称指定一个模式。有关细节请参见以下内容(默认为 “%h/java%u.log”)。

java.util.logging.FileHandler.append 指定是否应该将 FileHandler 追加到任何现有文件上(默认为 false)。

SimpleFormatter类:以可读格式输出日志记录的简单摘要。

方法摘要:

format(LogRecord record):格式化给定的LogRecord。 返回String类型。