log4j日志级别

C/C++log日志库比较

匿名 (未验证) 提交于 2019-12-03 00:32:02
事实上,在C的世界里面没有特别好的日志函数库(就像JAVA里面的的log4j,或者C++的log4cxx)。C程序员都喜欢用自己的轮子。printf就是个挺好的轮子,但没办法通过配置改变日志的格式或者输出文件。syslog是个系统级别的轮子,不过速度慢,而且功能比较单调。 尝试了几种C/C++ log库,简单记录如下: 1 log4j的衍生品 日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日志记录,他有很多移植版(包括官方的和非官方的版本) log4cxx http://logging.apache.org/log4cxx/ Log4cxx 是开放源代码项目Apache Logging Service的子项目之一,是Java社区著名的log4j的c++移植版,用于为C++程序提供日志功能,以便开发者对目标程序进行调试和审计。 1.2 Log4cpp log4cpp 而 log4c 1.3 log4c log4c现已不再有人维护了。不是面向对象的,不支持流式log输入。有配置文件。最新版本(log4c-1.2.4.tar.gz)存在内存泄露。不建议使用。 log4cplus http://sourceforge.net/projects/log4cplus/ log4cplus是C++编写的开源的日志系统

关于log4j的相关组件介绍

匿名 (未验证) 提交于 2019-12-03 00:27:02
Log4J的三个组件: Logger:日志记录器,负责收集处理日志记录 (如何处理日志) Appender:日志输出目的地,负责日志的输出 (输出到什么 地方) Layout:日志格式化,负责对输出的日志格式化(以什么形式展现) 类结构图 一个logger可以对应多个appender,一个appender只能对应一个layout。 1、Logger: logger可以有选择的启动和禁用日志的输出,我们经常会在各种框架中看到如: private static final Logger log = LoggerFactory.getLogger(XX.class); log就代表了一个Logger实例,他的name就是类“XX”的full quailied name(类的全限定名),按照上图所述,这个log就可以指定多个appender和layout。Logger的名字大小写敏感,其命名有继承机制:例如:name为org.apache.commons的logger会继承name为org.apache的logger。 Log4J中有一个特殊的logger叫做“root”,他是所有logger的根,也就意味着其他所有的logger都会直接或者间接地继承自root。root logger可以用Logger.getRootLogger()方法获取,但是不能通过Logger.getLogger(

Log4j与Log4j2日志记录详解

匿名 (未验证) 提交于 2019-12-03 00:22:01
一个完整的项目里,日志是必不可少的,也是很重要的一部分。程序从开发,测试,维护,运行等环节,都需要向控制台等位置输出大量的信息,如果程序出了问题,那么这些信息能快速反映出问题的所在,帮助我们定位到问题。而且这些信息的输出,在很多时候是使用 System.out.println() 无法完成的,而且使用 System.out.println() 这是IO操作,这会拖慢系统的效率。 日志信息根据用途与记录内容的不同,可以分为调试日志,运行日志,异常日志等。 Log4j 全称为Log for java ,也就是专门用来记录java语言的日志记录工具。目前有两个版本,Log4j与Log4j2。 Log4j的下载地址: http://logging.apache.org/log4j/1.2/download.html Log4j2的下载地址: http://logging.apache.org/log4j/2.x/download.html ,下载是下载的是后缀为bin.zip,然后再解压即可。 使用上面的包的话,直接将下载的依赖包复制粘贴到项目的lib目录下,add to build path就可以了。 如果是使用Maven管理依赖的话,需要添加下面的依赖: <!-- 日志文件管理包 --> < dependency > < groupId > log4j </ groupId > <

SpringBoot 日志

匿名 (未验证) 提交于 2019-12-03 00:22:01
写一个统一的接口层;日志门面(日志的一个抽象层);logging-abstract.jar; 给项目中导入具体的日志实现就行;我们之前的日志框架都是实现的抽象层; 常用的日志框架:JUL,JCL,Jboss-logging,Logback,Log4j2 ,Log4j,SLF4J 日志抽象层 日志实现 JCL(Jakarta Commons Logging) SLF4j(Simple Logging Facade for Java) jboss-logging Log4j JUL(java.util.logging) Log4j2 Logback 左边选抽象,右边选实现 SLF4J + Logback Spring Boot的底层是Spring框架,而Spring默认框架是JCL; SpringBoot选用SLF4J和logback 以后开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法; 应该给系统里面导入slf4j的jar包和logback的实现jar import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class HelloWorld { public static void main (String[] args) { Logger logger =

logback使用配置详解

匿名 (未验证) 提交于 2019-12-03 00:20:01
1.介绍  Logback是由log4j创始人设计的另一个开源日志组件,它当前分为下面下个模块:   logback-core:其它两个模块的基础模块   logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging   logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能(非必须的包)   注意:还要一个slf4j的包 2.配置介绍 2.1Logger、appender及layout Logger作为日志的记录器,把它关联到应用的对应的context上后,主要用于存放日志对象,也可以定义日志类型、级别。 Appender主要用于指定日志输出的目的地,目的地可以是控制台、文件、远程套接字服务器、 MySQL、PostreSQL、 Oracle和其他数据库、 JMS和远程UNIX Syslog守护进程等。 Layout 负责把事件转换成字符串,格式化的日志信息的输出。 2.2logger context 各个logger 都被关联到一个 LoggerContext,LoggerContext负责制造logger,也负责以树结构排列各logger。其他所有logger也通过org.slf4j.LoggerFactory

spring5日志系统

匿名 (未验证) 提交于 2019-12-03 00:17:01
1、jcl jcl底层依赖于log4j和jul,如果有log4j就使用log4j记录日志,没有就是用jul spring5底层日志系统依赖的是spring-jcl,和传统的jcl(common-logging.jar)有区别,首先是尝试加log4j2里面的一个ExtendedLogger,然后尝试加载slf4j SPI,再次就是尝试slf4j API如果没有就加载jul, 所以我们使用打算控制日志级别一定要采用log4j2或者slf4j。slf4j spi 是slf4j的扩展,差别不大。 http://www.slf4j.org/manual.html http://www.slf4j.org/legacy.html 文档地址。 来源:博客园 作者: 清浊 链接:https://www.cnblogs.com/xiaofeiyang/p/11787650.html

日志框架

匿名 (未验证) 提交于 2019-12-03 00:05:01
日志框架主要分为两类 日志门面: jcl、slf4j、jboss-logging 日志实现: log4j、log4j2、logback、jul log4j是apache的一个开源项目 logback是一个成熟的框架,由log4j的作者写成,logback分成三个模块: logback-core是其他两个模块的基础模块 logback-classic是log4j的一个改良版本,logback-classic完整实现slf4j api使你可以很方便的更换成其他日志系统如log4j或jul logback-access访问模块与servlet容器集成提供通过http来访问日志的功能 log4j2已经不仅仅是log4j的一个升级版本了,而是从头到尾被重写的,可以认为这其实是两个完全不同的框架 jul是java.util.logging包的简称 日志门面是门面模式的一个典型的应用 门面模式 (Facade Pattern),也称之为外观模式,其核心为:外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用 日志实现就是对接口的实现 不建议直接使用日志系统 (log4j、logback)中的api,而应依赖使用日志框架slf4j中的api,使用门面模式中的日志框架,有利于维护和各个类的日志处理方式统一 import org.slf4j.Logger; import org

(转载)非常完善的Log4net配置详细说明

匿名 (未验证) 提交于 2019-12-02 23:59:01
一、前言 在项目中,对项目的日志收集是非常重要的,这里我就说说代码的异常日志收集。收集异常日志,有很多第三方成熟的框架,我这里就介绍一下我常用的Log4net。 Log4Net介绍 Log4net 是 Apache 下一款非常著名的基于.net开发的记录日志开源组件,它是Log4j 的一个克隆版。Log4net记录日志的功能非常强大。它可以将日志分不同的等级,比不同的样式,将日志输出到不同的媒介,并且可以进行扩展。 官方地址: https://logging.apache.org/log4net/ 二、配置说明 关于Log4Net的配置介绍,园子里面有很多介绍,我看过一篇我到目前为止,介绍得最最详细的博文,这里我就直接转过来了,因为我自认为也写不出更加详细的配置说明,转载过来的还有一个目的,就是为了预防博主删博文,之前就遇到过,博主不知道是删了还是搬家了,收藏的博文就404了。 这里我根据实际使用情况,只转载了一些重要的配置说明,如果园友想看全文,连接地址: https://www.cnblogs.com/lzrabbit/archive/2012/03/23/2413180.html 这篇文章写了有几年了,估计Log4Net的配置形式有些修改,园友使用时可以自己调整。 1、Log4net的主要组成部分 1.1 Appenders Appenders用来定义日志的输出方式

log4j配置文件

匿名 (未验证) 提交于 2019-12-02 23:43:01
介绍 在编写大型项目时,日志输出是极其重要的一部分。而在Java项目中,常用的日志则是log4j和slf4j的组合。 log4j Log For Java,Apache的一个开源项目,可以灵活地记录日志信息,我们可以通过log4j的配置文件灵活配置日志的记录格式、记录级别、输出格式,而不需要修改已有的日志记录代码。 官方网站: http://logging.apache.org/log4j/1.2/ slf4j 简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,slf4j是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。 在使用slf4j的时候,不需要在代码中或配置文件中指定你打算使用那个具体的日志系统,slf4j提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。 官方网站: http://www.slf4j.org/ 使用 引入Maven依赖 < dependency > < groupId > log4j </ groupId > < artifactId > log4j </ artifactId > < version > 1.2

关于activeMQ DefaultMessageListenerContainer会一直打印日志的问题

匿名 (未验证) 提交于 2019-12-02 23:34:01
我用的日志是log4j输出,而log4j的日志输出级别是DEBUG模式,这时候需要单独设置activeMQ的输出级别 在log4j.properties在设置log4j.logger.org.apache.activemq=INFO, stdout就行了 文章来源: https://blog.csdn.net/gwofuchen/article/details/90476562