zoukankan      html  css  js  c++  java
  • Java日志系统---Logger之简单入门

    Java 中自带的日志系统,今天抽空了解了一点,算是入了门,所以将自己的一些心得记录下来,以备日后查看,有兴趣的朋友,看到此文章,觉得有错误或需要添加的地方,请在下方评论留言,大家可以共同进步,谢谢:)

    Java中关于日志系统的API,在 java.util.logging 包中,在这个包中,Logger类很重要。

    Logger类是用来记录 某个级别的日志消息:

      级别共分为以下几类,从上倒下,级别依次下降:

        SEVERE(严重)------级别最高

        WARNING(警告)

        INFO

        CONFIG

        FINE

        FINER

        FINEST------最低值

        另外,还有一个级别 OFF,可以用来关闭日志;使用级别 ALL,启用所有消息的日志记录。(日志消息级别,可以查看 java.util.logging.Level类)

        具体记录日志的方法,查看此类的API文档,在此就不详述了。

      Logger记录的日志消息会被转发到已注册的Handler对象,handler对象可以将消息发送到:控制台,文件,网络等等。

    Handler类(抽象类):主要用于转发日志消息

      Hanlder类下有2个子类:MemoryHandler、StreamHandler。

      StreamHandler下有3个子类:ConsoleHandler(将日志消息打印到控制台)、FileHandler(将日志消息输出到文件)、SocketHandler(将日志发送到网络中的某个主机)。具体详情,查看API文档。

    Formatter类(抽象类):主要用于格式化日志记录消息。

      有2个子类:SimpleFormatter(纯文本形式), XmlFormatter(XML形式)

      

    下面一起来写一个测试程序吧:

    /**
    * DateAndTime: 2016-12-8下午10:37:18
    */
    package chapter07;

    import java.io.IOException;
    import java.util.logging.FileHandler;
    import java.util.logging.Logger;

    /**
    * @author Administrator
    * 将日志记录写入到文件中
    *
    */
    public class TestLoggingToFile {

    public static void main(String[] args) throws SecurityException, IOException {
    //日志记录器
    Logger logger = Logger.getLogger("chapter07");
    //日志处理器
    FileHandler fileHandler = new FileHandler("d:\test.txt");

    //需要记录的日志消息

    LogRecord lr = new LogRecord(Level.INFO, "This is a text log.");

    //为处理器设置日志格式:Formatter

    SimpleFormatter sf = new SimpleFormatter();

    fileHandler.setFormatter(sf);
    //注册处理器
    logger.addHandler(fileHandler);
    //记录日志消息
    logger.log(lr);

    }

    }

    当然,如果把 SimpleFormatter 改成 XmlFormatter,记录的消息是xml形式,在此就不贴代码了,各位看官可以自己试试,哈哈哈:)

    以上就是,Java日志系统的简单入门了,赶快拿起旁边的键盘,敲着试试吧:)

  • 相关阅读:
    机器学习入门-文本数据-使用聚类增加文本的标签属性
    机器学习入门-文本特征-使用LDA主题模型构造标签 1.LatentDirichletAllocation(LDA用于构建主题模型) 2.LDA.components(输出各个词向量的权重值)
    机器学习入门-文本特征-word2vec词向量模型 1.word2vec(进行word2vec映射编码)2.model.wv['sky']输出这个词的向量映射 3.model.wv.index2vec(输出经过映射的词名称)
    机器学习入门-数值特征-对数据进行log变化
    python中datetime.strptime(),strftime()的应用
    css中的','、'>'、'+'、'~'
    js中const,var,let区别
    css的#和.的区别
    js实现拖放
    [Usaco2005]Part Acquisition
  • 原文地址:https://www.cnblogs.com/yorickLi/p/6158405.html
Copyright © 2011-2022 走看看