zoukankan      html  css  js  c++  java
  • java自带日志框架打印info以下级别日志

    本文为CSDN博主「LanTingShuXu」的原创文章,原文链接:https://blog.csdn.net/LanTingShuXu/article/details/80528558

    java.utils.logging 包提供了日志功能

    使用方式主要分为两种

    • 基本的全局日志记录功能,例如打印info级别的全局日志
    // 可选的设置打印的日志级别(打印所有级别)
    Logger.getGlobal().setLevel(Level.ALL);
    // 打印info级别的全局日志
    Logger.getGlobal().info("测试日志输出");
    • 使用自定义的日志记录
    Logger logger = Logger.getLogger("JUL");
    logger.setLevel(Level.INFO);
    logger.severe("JUL severe");
    logger.warning("JUL warning");
    logger.info("JUL info");
    logger.config("JUL config");
    logger.fine("JUL fine");
    logger.finer("JUL finer");
    logger.finest("JUL finest");    

    日志的级别

    总共分为7个,由高到低分别为:

    • SERVERE
    • WARNING
    • INFO
    • CONFIG
    • FINE
    • FINER
    • FINEST

    设置显示info以下级别的日志

    默认情况下,只记录前三个级别,上文自定义logger代码是没有config及以下级别的日志输出的。如果想要显示INFO级别以下的日志信息,需要单独配置。配置方式如下

    • 找到JDK安装目录进入目录:jre/lib,复制logging.properties文件到项目src下
    • 编辑logging.properties文件,找到.Level=INFO这一行(我的是29行),将其改为你想显示的级别,比如:.Level=FINE则是显示FINE及以上的级别,.Level=ALL是显示所有日志。当然,可以设置特定的自定的日志级别,例如com.lanting.Level=INFO则是只对记录器名为“com.lanting”及子记录器的起效

    • 继续找到java.util.logging.ConsoleHandler.level = INFO这一行(我的是43行),同样改成你想要显示的级别,例如改成java.util.logging.ConsoleHandler.level = ALL则是显示所有级别的信息(推荐
    • 在获取日志对象前设置 系统属性 java.util.logging.config.file
     System.setProperty("java.util.logging.config.file",System.getProperty("user.dir")+"\logging.properties");
    • 或者在启动时设置参数
    -Djava.util.logging.config.file=F:practicestudylogginglogging.properties

    然后就能够输出info以下级别的日志了

     输出日志到文件

    logging.properties文件中默认只配置了ConsoleHandler,也就是不会生成日志文件,需要更改成如下配置

    # To also add the FileHandler, use the following line instead.
    handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler

    每种handler都可以设置自己的日志输出级别,如果不设置,则采用“.LEVEL”配置的值

    .level= ALL
    # default file output is in user's home directory.
    java.util.logging.FileHandler.pattern = ./java%u.log
    java.util.logging.FileHandler.limit = 50000
    java.util.logging.FileHandler.count = 1
    java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
    
    # Limit the message that are printed on the console to INFO and above.
    java.util.logging.ConsoleHandler.level = ALL
    java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
  • 相关阅读:
    springboot访问redis序列化问题
    观察者模式在源码中的使用
    抽象工厂模式在源码中的使用
    工厂方法模式在源码中的应用
    策略模式的应用
    springcloud实现限流
    Elasticsearch
    java8新特性(二)StreamApi
    thinkpaidE450 win10 进入bios
    restframe_work2
  • 原文地址:https://www.cnblogs.com/canger/p/11819502.html
Copyright © 2011-2022 走看看