【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的父类所记录(前提是符合等级要求)
实在是太困了 明天再继续写!
【Log4j】分包,分等级记录日志信息的更多相关文章
- Log4j 1.x JDBCAppender记录日志失效问题详解
官网:http://logging.apache.org/log4j/1.2/manual.html 事件:最近在项目中使用log4j 1.x JDBCAppender记录管理员操作日志到数据库,在测 ...
- Log4J是Apache组织的开源一个开源项目,通过Log4J,可以指定日志信息输出的目的地,如console、file等。Log4J采用日志级别机制,请按照输出级别由低到高的顺序写出日志输出级别。
Log4J是Apache组织的开源一个开源项目,通过Log4J,可以指定日志信息输出的目的地,如console.file等.Log4J采用日志级别机制,请按照输出级别由低到高的顺序写出日志输出级别. ...
- C语言:类似linux内核的分等级DEBUG宏(打印宏)
总结几种log打印printf函数的宏定义 http://blog.chinaunix.net/uid-20564848-id-73402.html #include <stdio.h> ...
- 用log4net记录日志信息
在.net中用log4net记录日志信息,已经是很平常的事情了. log4net下载:http://logging.apache.org/log4net/download_log4net.cgi 百度 ...
- 在Winform项目和Web API的.NetCore项目中使用Serilog 来记录日志信息
在我们常规的调试或者测试的时候,喜欢把一些测试信息打印在控制台或者记录在文件中,对于.netframework项目来说,我们输出控制台的日志信息习惯的用Console.WriteLine来输出查看,不 ...
- .NET Core下的日志(1):记录日志信息
记录各种级别的日志是所有应用不可或缺的功能.关于日志记录的实现,我们有太多第三方框架可供选择,比如Log4Net.NLog.Loggr和Serilog 等,当然我们还可以选择微软原生的诊断机制(相关A ...
- log4j记录exception异常有价值信息及log4j级别
try{ }catch(Exception e){ e.printStackTrace(); log.error("配件导出excel错误:", e.fillInStackTrac ...
- Log4j(2)--日志等级
Log4j根据日志信息的重要程度,分OFF.FATAL.ERROR.WARN.INFO.DEBUG.ALL 当然再细分的话 还有 FATAL(严重错误), 但是Log4j官方建议实际实用的话,Log4 ...
- 解决在web项目使用log4j中无法将log信息写入文件
这是log4j.properties中关于的配置 log4j.appender.appender2.File=F:/myeclipseworkspace2/SecondBook2/log/second ...
随机推荐
- 抓包工具-Wireshark(详细介绍与TCP三次握手数据分析)
功能使用的详细介绍 wireshark(官方下载网站: http://www.wireshark.org/),是用来获取网络数据封包,可以截取各种网络封包,显示网络封包的详细信息,包括http,TCP ...
- Spring学习(19)--- Schema-based AOP(基于配置的AOP实现) --- 配置切面aspect
Spring所有的切面和通知器都必须放在一个<aop:config>内(可以配置包含多个<aop:config>元素),每个<aop:config>包含pointc ...
- 自己积累写的winfrom 操作api 类
引用 类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sys ...
- Ubuntu下的iptux和Windows下的飞秋互传文件
1.问题 当Linux下的iptux是安装源里的版本时,存在下面的问题:Windows下的飞秋可以向Linux下的iptux发送文件,iptux接受正常Linux下的iputx给Windows下的飞秋 ...
- SQL之trigger(触发器)
先来看一小段程序 有如下三张表: 帐户(编号,姓名,余额,建立日期,储蓄所编号) 储蓄所(编号,名称,地址,人数,所属城市) 借贷(帐户,借贷类型,金额,日期) create trigger tri_ ...
- IPhone开发“此证书是由未知颁发机构签名”解决办法
有一种情况是你删除了钥匙串中的系统文件,只要重新下载,并双击(会自动添加到钥匙串中)就ok了. 从浏览器中直接敲入下载地址:http://developer.apple.com/certificati ...
- “前”方有坑,绕道而行(一)-- H5+CSS
1. 关于 数字.英文 不换行问题: 情景:昨天测试 小程序,输入英文,没有换行,且 下方有横向滚动条: 解决:word-break: word-break:break-all; /*只对英文起作用 ...
- ant使用
摘录于他人精华,原文出处http://www.blogjava.net/hoojo/archive/2013/06/14/400550.html 1.project 节点元素 project 元素是 ...
- ThreadLocal经典分页
package com.netease.live.admin.util; import com.netease.live.common.util.Constant; /** * * @author b ...
- kbengine所有的demo源代码
回复才可见的内容https://github.com/kbengine/kbengine_ue4_demo回复才可见的内容https://github.com/kbengine/kbengine_og ...