Java JDK自带Logger,无法打印INFO级以下消息

Java JDK自带Logger,无法打印INFO级以下消息

最近学习Java基础知识的时候看到JDK自带的日志类Logger,其有一系列方法例如Logger.info,Logger.fine等方法可以产生对应等级的日志消息,默认的处理器会在控制台上打印出该消息。

我们知道Logger默认是不会处理INFO等级以下的消息的,所以我使用了Logger.setLevel(Level.ALL)方法修改配置等级。

但在调用了Logger.fine后还是无法在控制台打印出(这的打印是默认处理),这是因为我们只是修改了管理器的等级,消息确实被接收了,但在日志控制器那里并没有进行处理(这里的处理为打印在控制台)

所以我们需要再添加一个新的控制器给我们的Logger类

		Logger myLogger = Logger.getLogger("com.ynd.mainTest");
		myLogger.setLevel(Level.ALL);
        ConsoleHandler myConsoleHandler = new ConsoleHandler();
        myConsoleHandler.setLevel(Level.FINER);
        myLogger.addHandler(myConsoleHandler);
        //这里关闭父处理器,否则会传递给父处理器,在控制台上打印两次
        myLogger.setUseParentHandlers(false);
        myLogger.info("main start");
        myLogger.finer("finer test");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值