zoukankan      html  css  js  c++  java
  • 【Log4j】分包,分等级记录日志信息

    在开发中我们经常会将不同包下的日志信息在不同的地方输出,以便于以后出问题能够直接在对应的文件中找到对应的信息!

    例如:在spring+SpringMVC+mybatis的框架中,我们经常会将spring的日志输出在一个文件中,将mybatis中的信息输出在另一个文件中,这样debug时能够清晰准确的进行定位!

    先普及一下Log4j的基础只是,log4j的日志等级大致可以分为4个等级

    从小到大是

    debug<info<warn<error

    常用中用这四个即可

    在log4j中大致可以分为3个模块

    1,logger 负责日志记录的绝大多数工作,负责记录该记录的信息

    2,appender 负责确定将信息输出到哪里

    3,layout 负责确定日志信息以什么格式进行输出

    这三个中后两个相对来说比较简单,只要找到对应的格式照抄即可!

    最难的是logger

    因为在Log4j中有日志等级划分以及继承关系

    等级:

    如果你指定一个记录器的记录等级为info,则该记录器会记录所有大于等于info的信息,

    也就是说记录器只会记录日志等级大于等于记录器等级的日志信息

    继承关系:1,如果当前记录器没有指定记录等级,那么它会自动继承上面离它最近的一个有等级的记录器的等级;

    例如

    记录器名称               等级

      AA        ERROR

      BB        无

    当初始化的时候BB的等级自动变为ERROR

    如果往上查找没有找到有等级的记录器,那它会以根节点的等级为准2,名称继承

    如果一个记录器的名字加上一个点等于另一个记录器的名字的前缀,前门我们将前者称之为后者的父类

    也就是说

    com记录器是  com.accp记录器的父类

    那在记录日志的时候,若没有特殊声明com.accp所记录的信息也会被com以及com的父类所记录(前提是符合等级要求)

    实在是太困了 明天再继续写!

  • 相关阅读:
    Java POI Word 写文档
    安装SQL Server Management Studio遇到的29506错误
    DataSet中的relation
    如何在Eclipse中配置Tomcat
    button与submit
    redis应用场景
    机器学习实战-KNN(K-近邻算法)详解
    python中的random扩展
    php函数实现文章列表显示的几秒前,几分钟前,几天前等方法
    HTML5的Video标签的属性,方法和事件汇总
  • 原文地址:https://www.cnblogs.com/FranklinD/p/4579550.html
Copyright © 2011-2022 走看看