log4j日志级别

log4j2 配置文件解读

瘦欲@ 提交于 2019-12-04 13:50:27
1、日志相关介绍   日志接口(slf4j):slf4j是对所有日志框架制定的一种规范、标准、接口,并不是一个框架的具体的实现,因为接口并不能独立使用,需要和具体的日志框架实现配合使用(如log4j、logback)。常用的日志实现方式有log4j、logback、log4j2,log4j是apache实现的一个开源日志组件;logback同样是由log4j的作者设计完成的,拥有更好的特性,用来取代log4j的一个日志框架,是slf4j的原生实现;log4j2是log4j 1.x和logback的改进版,据说采用了一些新技术(无锁异步、等等),使得日志的吞吐量、性能比log4j 1.x提高很多,并解决了一些死锁的bug,而且配置更加简单灵活。以下以log4j2 xml配置文件为例。 2、log4j2.xml文件内容如下 <?xml version="1.0" encoding="utf-8"?> <!-- log4j2内部日志配置,status表示日志级别,monitorInterval表示监控间隔 --> <Configuration status="WARN" monitorInterval="10"> <!-- 属性配置,后续可以使用${xxx}获取对应的值 --> <properties> <!-- 日志存放根目录 --> <property name="LOG_HOME"

日志等级及使用情形

安稳与你 提交于 2019-12-04 10:40:55
在不同的版本中日志的分级也有区别,下面以日志记录器Logger的分类来进行讨论 六个日志等级: TRACE 、 DEBUG 、 INFO 、 WARNING 、 ERROR 、 FATAL 还有两个特殊等级 ALL、OFF,全部日志打开和关闭,这里不做讨论 (1)TRACE TRACE 在线调试。 该级别日志,默认情况下,既不打印到终端也不输出到文件。此时,对程序运行效率几乎不产生影响。 (2)DEBUG DEBUG 终端查看、在线调试。 该级别日志,默认情况下会打印到终端输出,但是不会归档到日志文件。因此,一般用于开发者在程序当前启动窗口上,查看日志流水信息。 (3)INFO INFO 报告程序进度和状态信息。 一般这种信息都是一过性的,不会大量反复输出。 例如:连接商用库成功后,可以打印一条连库成功的信息,便于跟踪程序进展信息。 (4)WARNING WARNING 警告信息 程序处理中遇到非法数据或者某种可能的错误。 该错误是一过性的、可恢复的,不会影响程序继续运行,程序仍处在正常状态。 (5)ERROR ERROR 状态错误 该错误发生后程序仍然可以运行,但是极有可能运行在某种非正常的状态下,导致无法完成全部既定的功能。 (6)FATAL FATAL 致命的错误 表明程序遇到了致命的错误,必须马上终止运行。 Log4j建议只使用四个级别,优先级从高到低分别是 ERROR

logging模块

女生的网名这么多〃 提交于 2019-12-04 09:09:25
介绍 Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现具体的日志记录方式 logging模块与log4j的机制是一样的,只是具体的实现细节不同。模块提供logger,handler,filter,formatter。 logger:提供日志接口,供应用代码使用。logger最长用的操作有两类:配置和发送日志消息。可以通过logging.getLogger(name)获取logger对象,如果不指定name则返回root对象,多次使用相同的name调用getLogger方法返回同一个logger对象。 handler:将日志记录(log record)发送到合适的目的地(destination),比如文件,socket等。一个logger对象可以通过addHandler方法添加0到多个handler,每个handler又可以定义不同日志级别,以实现日志分级过滤显示。 filter:提供一种优雅的方式决定一个日志记录是否发送到handler。 formatter:指定日志记录输出的具体格式。formatter的构造方法需要两个参数:消息的格式字符串和日期字符串,这两个参数都是可选的。 与log4j类似

Mybatis之日志工厂

≯℡__Kan透↙ 提交于 2019-12-04 03:53:38
思考:我们在测试SQL的时候,要是能够在控制台输出 SQL 的话,是不是就能够有更快的排错效率? 如果一个 数据库相关的操作出现了问题,我们可以根据输出的SQL语句快速排查问题。 对于以往的开发过程,我们会经常使用到debug模式来调节,跟踪我们的代码执行过程。但是现在使用Mybatis是基于接口,配置文件的源代码执行过程。因此,我们必须选择日志工具来作为我们开发,调节程序的工具。 Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具: SLF4J Apache Commons Logging Log4j 2 Log4j JDK logging 具体选择哪个日志实现工具由MyBatis的内置日志工厂确定。它会使用最先找到的(按上文列举的顺序查找)。 如果一个都未找到,日志功能就会被禁用。 标准日志实现 指定 MyBatis 应该使用哪个日志记录实现。如果此设置不存在,则会自动发现日志记录实现。 <settings> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings> 测试,可以看到控制台有大量的输出!我们可以通过这些输出来判断程序到底哪里出了Bug Log4j: 简介: Log4j是Apache的一个开源项目 通过使用Log4j,我们可以控制日志信息输送的目的地:控制台,文本,GUI组件....

JAVA 日志系统简介--转

你离开我真会死。 提交于 2019-12-04 00:46:45
日 志,源于log,有航海日志的意思。指记录海员记录每天的行程,生活及发生的事件。在软件开发领域,用来监控代码中变量变化,跟踪 代码运行的轨迹,在开发环境中担当调试器作用,向控制台或文件输出信息。 几乎所有的软件开发语言(平台)都有自己的日志系统, java ,.net,ruby,php等。在 java 领 域,存在大量的日志组件, open-open 收 录了21个日志组件。 从 功能上讲,这些可以分为三类,一是日志工具类,它实现了日志的记录,格式化和级别的划分,代表为 logback,simplelog。二是日志系统,提供了完整的框架功能并实现了日志记录。代表为jul(jdk提供的日志框 架),log4j(apache开源项目)。三是抽象整合类,它提供了一组接口,完成日志功能,通过包装其他日志工具或系统来工作jcl(apache开 源组件),slf4j。 从历史上讲,log4j出现最早, Ceki Gülcü 是其创造者。自java1.4开始,jdk提供了 java .util.logging 类库,提供了一个完整的日志框架,在设计上要比log4j要更清晰。 这个时候,除此之外,还有一些其他日志组件, java 领域从来不缺少轮子,总是有人在发明轮 子,轮子多了,就会产生混乱,就会有人站出来,要一统江湖,于是,jcl,apache一个开源的日志组件诞生了

java.lang.NoSuchFieldException: DEFAULT_PARAM

ぐ巨炮叔叔 提交于 2019-12-04 00:30:21
项目用的是struts 2.3.15.3 这个版本,项目中有用到 struts2-json-plugin-2.3.15.3.jar 这个jar包。当把log4j的日志级别调为error时,没出现问题。当把日志级别调为debug时,就会出现 java.lang.NoSuchFieldException: DEFAULT_PARAM.....但项目依然可以正常运行。 但我可以确定,我的项目配置是正确的。后来百度了一下,原来 这是这个版本的一个bug问题, 在org.apache.struts2.json.JSONResult 这个类中 是没有这个 DEFAULT_PARAM 属性的。 有兴趣的可以打开源码看一下,就明白了,其实这个异常信息不影响使用。 如果要去除这个异常信息,可以 找到源码,拷贝出来, 在项目中自己创建一个同样的类,路径和类名都要一样,然后在类中 加上 public static final String DEFAULT_PARAM = "status"; 这个属性就OK了。 后来到struts官网上看了下,当前最新的struts2版本是2.3.16。果断下载下来,引入到项目中,没有这个异常了,貌似新版本中已经解决了这个问题。 来源: oschina 链接: https://my.oschina.net/u/1157906/blog/188170

Spring Boot + Log4j2 日志框架配置 (Maven)

萝らか妹 提交于 2019-12-03 20:30:10
参考Spring Boot官方文档 日志部分 Spring Boot默认情况下,当使用"Starters" 使用Logback输出日志 , 还包括适当的Logback路由, 确保其他的日志框架(Java Util Logging, Commons Logging, Log4j, SLF4J)都能正常使用 Sping Boot文档的 26.5 Custom Log Configuration 章节,说明了自定义日志配置方法 多样的日志系统可以通过 添加适当的日志框架库到classpath 适当的配置配置文件加入到classpath的根目录 或者 其他的本地目录, 使用Spring配置 loggin.config 配置指定配置文件 依赖于开发者选择的日志框架. 这些对应的配置文件会被加载 日志框架 配置文件 Logback logback-spring.xml , logback-spring.groovy , logback.xml , logback.groovy Log4j2 log4j2-spring.xml , log4j2.xml JDK(JAVA Util Logging) logging.properties 引入Log4j2日志框架 Log4j2为何物就不介绍了. Log4j2官网 配置的方案 在官方文档 77.2 Configure Log4j for

mybatis

…衆ロ難τιáo~ 提交于 2019-12-03 14:54:58
1.为什么学习mybatis    jdbc有缺点: 加载驱动,获取链接,操作数据库,关闭连接 、 封装:经常修改的内容放到配置文件中,不经常修改的放到Java文件中 占位符?,占位符的位置,以及赋值的时候要注意序号 关联关系:一对一,一对多,多对一,多对多 缓存:访问数据量多时,可以重复使用查询的数据,减少数据库的访问   介绍mybatis Mybatis是一个半自动的框架 ORM O:Object(java就是一个面向对象的编程语言) R:Relation(数据库) M:Mapping(映射) ORM的口号时不准再项目中写sql   Junit Junit测试类使用方法 引入jar包 第一个方法修饰符必须是public,返回值,和参数不能有,只需要在需要测试的方法上加@Test @Before是在@test之前运行 @After实在@test之后运行   Log4j Log4j是java日志,日记 String.out.println()  没有日期,没写是哪个类打印是哪一行,没有级别, Log4j:一天一个文本,一天的文本会按照大小记录两个本   使用方法 引入jar包 配置文件 基本版本 <?xml version="1.0" encoding="UTF-8"?> <!-- 配置文件的名字必须叫做log4j2.xml 配置文件的位置必须放到classpath的根目录

IDEA项目搭建九――使用slf4j和logback进行日志记录

匿名 (未验证) 提交于 2019-12-03 00:40:02
、简介 java里面日志分为两部分一个门面、一个实现,我们所熟知的SLF4j、Log4j、Log4j2、Logback的日志组件slf4j是门面提供的统一的入口,具体实现由log4j、log4j2、logback来实现 log4j由于太老作者自己也不打算重构了所以放弃 log4j2是apach的一个项目很好,但支持上面略有欠缺所以放弃 logback是之前log4j的作者自己开源的一个新的log组件,做了大量的调整及优化,性能及使用性上都有很大的提高,再加上沉淀了很多年又完全实现了slf4j,所以被我们选中使用更多了解可以去它的官网http://logback.qos.ch 修改pom.xml文件,增加对slf4j和logback的引用 < dependencies > < dependency > < groupId > org.slf4j </ groupId > < artifactId > slf4j-api </ artifactId > < version > 1.7.25 </ version > </ dependency > < dependency > < groupId > ch.qos.logback </ groupId > < artifactId > logback-core </ artifactId > < version > 1.2.3 </

Log4j for C++ 实用指南

匿名 (未验证) 提交于 2019-12-03 00:36:02
日志是一个优秀系统不可或缺的组成部分,利用它我们可以记录系统中所产生的所有行为。 对于很多人来说,日志的作用仅限于调试。其实不然,它在很多方面都非常有用: 日志是最好的的诊断工具 日志让我们有机会检测模块的瓶颈 日志有助于我们了解用户行为 …… 在编写代码时,使用日志框架是一种很好的实践。即使像《代码整洁之道》这样的书籍,也建议学习像 Log4j 这样的框架进行日志记录。 本达人课将主要围绕 Log4Qt,探索 C++ 中的 Log4j 技术。通过分享的知识,读者可以快速了解 Log4j 内部工作机制,并能熟练使用其各个衍生品 - Log4cpp、log4cplus、log4cxx、Log4Qt。 凡是购买了课程的童鞋,请私聊我,有专门的 C++ 框架群,大家一起交流。 | 版权声明:一去、二三里,未经博主允许不得转载。 以下是课程的具体内容,以及示例源码: 课程地址 ״̬ 源码 《第 01 课:C++ 日志框架》 《第 02 课:Log4Qt 基本介绍》 《第 03 课:获取 Log4Qt 中的 Logger》 《第 04 课:深入理解 rootLogger、logLogger、qtLogger》 《第 05 课:使用环境变量配置 Log4Qt》 撰写中… 《第 06 课:使用 QSettings 配置 Log4Qt》 撰写中… 《第 07 课:使用 log4qt