JUL 日志

JUL日志级别

日志分为7个级别,详细信息我们可以在Level类中查看:

  • SEVERE(最高值)- 一般用于代表严重错误
  • WARNING - 一般用于表示某些警告,但是不足以判断为错误
  • INFO (默认级别) - 常规消息
  • CONFIG
  • FINE
  • FINER
  • FINEST(最低值)

Properties配置文件

# RootLogger 的默认处理器为
handlers= java.util.logging.ConsoleHandler
# RootLogger 的默认的日志级别
.level= CONFIG

使用日志处理器

public class Main {
    public static void main(String[] args) {
        Logger logger = Logger.getLogger(Main.class.getName());  // 获取logger
        logger.log(Level.SEVERE, "severe error");
        logger.log(Level.WARNING, "warning");
        logger.log(Level.INFO, "info");
        logger.log(Level.CONFIG, "config");
        logger.log(Level.FINE, "fine");
        logger.log(Level.FINEST,"finest");
    }
}

默认级别低于INFO的不会打印到控制台上

setLevel(Level newLevel):设置日志级别,指定此日志记录器将记录的消息级别。低于此值的消息级别将被丢弃。级别值 Level.OFF 可用于关闭日志记录。Level.ALL表示全部级别日志将被打印

自定义日志处理器级别

public class Main {
    public static void main(String[] args) {
        Logger logger = Logger.getLogger(Main.class.getName());  // 获取logger

        logger.setLevel(Level.ALL);          // 设置全部级别日志都打印
        logger.setUseParentHandlers(false);  // 不使用父(默认)日志处理器
        // 使用自定义日志处理器
        ConsoleHandler consoleHandler = new ConsoleHandler();
        consoleHandler.setLevel(Level.ALL);
        logger.addHandler(consoleHandler);

        logger.log(Level.SEVERE, "severe error");
        logger.log(Level.WARNING, "warning");
        logger.log(Level.FINE, "lower than info");
    }
}

文件日志处理器

将日志输出到本地的log文件上

        FileHandler fileHandler = new FileHandler("test.log");
        fileHandler.setLevel(Level.WARNING);
        fileHandler.setFormatter(simpleFormatter);
        logger.addHandler(fileHandler);

但是这样得到的日志格式是xml格式的,使用SimpleFormatter将日志格式化

        SimpleFormatter simpleFormatter = new SimpleFormatter();
        fileHandler.setFormatter(simpleFormatter);

日志过滤

        Logger logger = Logger.getLogger(Main.class.getName());  // 获取logger
        logger.setFilter(record -> false); // lambda

setFilter接收的参数为一个Filter接口

指定某日志输出

        Logger logger = Logger.getLogger(Main.class.getName());  // 获取logger
        logger.setFilter(record -> record.getMessage().equals("hello"));
        logger.info("hello");

开启mybatis日志

mybatis-config.xml中添加:

    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>

.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值