Java日志(一):Jul(java.util.logging.Logger)

日志是任何应用程序、系统中非常重要的部分!!!
实际应用,比如接口调用需要调用日志记录,比如事件操作需要操作日志记录,比如问题报错需要错误日志记录。
合理的日志记录,使得系统的任何风吹草动都让人了如指掌,对于后续的分析排查统计完全能起到事半功倍的作用。

Java自带的log,类图大概如下:
在这里插入图片描述
如上图,Handler类负责打印日志到文件、控制台或者网络上等等,Handler类中的Formatter类负责日志格式的排版,每个Handler类实例都有自己的输出等级Level,而Logger类则负责把日志内容封装成对象,然后调用Handler类来处理这些日志对象的最终输出。
以上关系可以使用下面的代码表示:

    public static void main(String[] args) throws IOException {
        //根据名称创建一个Logger
        Logger logger = Logger.getLogger(MyLogger.class.getName());
        //创建文件Handler并设置格式Formatter和等级Level
        FileHandler fileHandler = new FileHandler("C:\\Users\\l\\Desktop\\mylog.log", true);
        fileHandler.setFormatter(new SimpleFormatter());
        fileHandler.setLevel(Level.WARNING);
        //添加到logger
        logger.addHandler(fileHandler);
        //进行日志输出
        logger.warning("warning ...");
    }

另外,可以在配置文件中指定输出类别和格式:

    public static void main(String[] args) {
        System.setProperty("java.util.logging.config.file", "mylog.properties");
        Logger logger = Logger.getLogger(MyLogger.class.getName());

        //进行日志输出
        logger.info("this is info msg...");
    }

mylog.properties:

handlers= java.util.logging.FileHandler,java.util.logging.ConsoleHandler

#.level= INFO

# default file output is in user's home directory.
java.util.logging.FileHandler.pattern = C:\\Users\\l\\Desktop\\mylog.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.append = true
java.util.logging.FileHandler.level = FINE
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 = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

创建日志logger时会自动读取配置文件java.util.logging.LogManager#readConfiguration(),并把配置文件里的参数设置进去。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值