log4j配置

Java日志框架(Commons-logging,SLF4j,Log4j,Logback)

岁酱吖の 提交于 2019-12-27 04:06:01
简介 在系统开发中,日志是很重要的一个环节,日志写得好对于我们开发调试,线上问题追踪等都有很大的帮助。但记日志并不是简单的输出信息,需要考虑很多问题,比如日志输出的速度,日志输出对于系统内存,CPU的影响等,为此,出现了很多日志框架,以帮助开发者解决这些问题。 java中的常用日志框架 比较常用的有Log4j,SLF4j,Commons-logging,logback。当然,JDK本身也提供了java.util.logging包来提供对日志的支持。 Commons-loggin :是apache最早提供的日志的门面接口。它的主要作用是提供一个日志门面,使用者可以使用不同的日志实现。用户可以自由选择第三方的日志组件作为具体实现,像log4j,或者jdk自带的logging, common-logging会通过动态查找的机制,在程序运行时自动找出真正使用的日志库。common-logging内部有一个Simple logger的简单实现,但是功能很弱。 SLF4j :是Simple Logging Facade for Java的简称,即java的简单日志门面。类似于Apache Common-Logging,是对不同日志框架提供的一个门面封装,可以在部署的时候不修改任何配置即可接入一种日志实现方案。但是,他在编译时静态绑定真正的Log库。使用SLF4J时,如果你需要使用某一种日志实现

Spring Boot(十)Logback和Log4j2集成与日志发展史

ぐ巨炮叔叔 提交于 2019-12-23 21:14:14
一、简介 Java知名的日志有很多,比如:JUL、Log4j、JCL、SLF4J、Logback、Log4j2,那么这些日志框架之间有着怎样的关系?诞生的原因又是解决什么问题?下面一起来看。 1.1 JUL Java有自己的日志框架JUL(Java Util Logging)在java.util.logging下,因为对开发者不友好,使用成本太高和日志级别分类不清晰的问题,所有很少有开发者用。 1.2 Log4j 因为JUL的缺陷问题,这就给了Log4j机会,所有Log4j一经推出就迅速风靡全球。 1.3 JCL JCL是Jakarta Commons-Logging的缩写,Jakarta在这里指的是一个组织,而不是印度的首都雅加达,Jakarta,一个早期的Apache开源项目,用于管理各个Java子项目,诸如Tomcat, Ant, Maven, Struts, JMeter, Velocity, JMeter, Commons等。2011年12月,在所有子项目都被迁移为独立项目后,Jakarta名称就不再使用了。 JCL诞生的初衷是因为Java自身的一些包用了JUL,而Log4j用户使用的有很多,那么JCL就是提供一套API来实现不同Logger之间的切换。 1.4 SLF4J SLF4J(Simple Logging Facade For Java)简单日志门面

转 spring官方文档中文版

故事扮演 提交于 2019-12-23 08:43:15
本文转载自: https://www.cnblogs.com/wangdaijun/p/6142168.html 作者:wangdaijun 转载请注明该声明。 转 http://blog.csdn.net/tangtong1/article/details/51326887 另附码云地址 https://gitee.com/free/spring-framework-reference 中文翻译地址: http://spring.cndocs.ml/ 完善中 (作者 csdn http://blog.csdn.net/isea533 ) spring 官方文档: http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/ 一、Spring框架概述 Spring框架是一个轻量级的解决方案,可以一站式地构建企业级应用。Spring是模块化的,所以可以只使用其中需要的部分。可以在任何web框架上使用控制反转(IoC),也可以只使用 Hibernate集成代码 或 JDBC抽象层 。它支持声明式事务管理、通过RMI或web服务实现远程访问,并可以使用多种方式持久化数据。它提供了功能全面的 MVC框架 ,可以透明地集成 AOP 到软件中。 Spring被设计为非侵入式的

[学习随笔]SpringMVC框架集成Log4j日志框架

我的梦境 提交于 2019-12-22 23:16:33
[学习随笔]SpringMVC框架集成Log4j日志框架这里写自定义目录标题 Log4j简介 Log4j依赖添加 Log4j简介 log4j是Apache下的开源项目,主要功能为采集日志信息并输出打印。Log4j主要组件有如下三个。 (1)Logger:记录器,并提供细粒度划分,定义了不同的日志级别。这些日志级别的优先级如下: all<debug<info<warn<error<fatal<off. (2)Appender:Log4j允许把日志输出到不同的地方。Console,Files等。 (3)Layout:格式化日志输出方式 Log4j可以有两种配置方式,XML式或者.properties形式。xml式文件基本配置如下: // An highlighted block < ? xml version = "1.0" encoding = "UTF-8" ? > < Configuration status = "WARN" > < Appenders > < Concole name = "Console" target = "SYSTEM_OUT" > < PatternLayout pattern = "%d{HH:mm:ss:SSS}[%t]%-5level%logger{36}-%msg%n" > < / Console > < / Appenders > <

Logback LogBack

核能气质少年 提交于 2019-12-21 19:37:06
1.简介   LogBack是一个日志框架,它与Log4j可以说是同出一源,都出自Ceki Gülcü之手。(log4j的原型是早前由Ceki Gülcü贡献给Apache基金会的) 1.1 LogBack,Slf4j,Log4j之间的关系   Slf4j是The Simple Logging Facade for Java的简称,是一个简单日志门面抽象框架,它本身只提供了日志Facade API和一个简单的日志类实现,一般常配合Log4j,LogBack,java.util.logging使用。Slf4j作为应用层的Log接入时,程序可以根据实际应用场景动态调整底层的日志实现框架(Log4j/LogBack/JdkLog...);   LogBack和Log4j都是开源日记工具库,LogBack是Log4j的改良版本,比Log4j拥有更多的特性,同时也带来很大性能提升。详细数据可参照下面地址: Reasons to prefer logback over log4j   LogBack官方建议配合Slf4j使用,这样可以灵活地替换底层日志框架。   (note: 为了优化log4j,以及更大性能的提升,Apache基金会已经着手开发了log4j 2.0, 其中也借鉴和吸收了logback的一些先进特性,目前log4j2还处于beta阶段) 1.2 LogBack的结构  

Java日志相关记录 (Jul jcl log4j log4j2 Logback SLF4J)

折月煮酒 提交于 2019-12-21 18:11:10
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、写在前面 在java 中实现记录日志的方式有很多种 1. 最初的方式,就是system.print.out ,err 这样直接在控制台打印消息,缺点太多了,这样与业务逻辑无关的代码会变得更多,不能按日志等及输出,以及那些不输出等。 2. JUL,java util logging在jdk的java.util.logging包中,也叫jkdLog或者jdk14log; 在JDK 1.4 版本之后,java提供了日志的API ,可以往文件中写日志了,最方便不需要第三方包,其实际使用人较少。 3. log4j , 最强大的记录日志的方式。 可以通过配置 .properties 或是 .xml 的文件, 配置日志的目的地,格式等等,基于老的jdk性能不高,该项目现在已经停止维护,但是用的人还是最多的。 4. Log4j2 该项目是log4j的升级版,性能较好,也吸收了logback等日志记录组件的优点。 5. commons-logging是一个日志接口,最综合和常见的日志记录方式, 经常是和log4j或者log4j2 结合起来使用。 6. Slf4j也是一个日志接口,最常见的是和logback一起使用。 7. 日志等级其实最常用的就是这四个等级(debug,info,warn,error)。 二、JUL(java

log4j和slf4j的区别

我只是一个虾纸丫 提交于 2019-12-21 14:14:28
之前在项目中用的日志记录器都是log4j的日志记录器,可是到了公司发现项目要求使用slf4j,于是想着研究一下slf4j的用法。   注意:每次引入Logger的时候注意引入的jar包,因为有Logger的包太多了。。。。。。      Logger必须作为类的静态变量使用 。原因如下: 1 使用static修饰的属性是归这个类使用的2 也就是说不论这个类实例化多少个,大家用的都是同一个static属性3 log4j记录的是当前类的日志,不是每个实例的日志4 所以只要有一个记录就可以了创建日志记录器方法:(最好声明加final关键字) //private static final Logger logger = LoggerFactory.getLogger(Slf4jTest.class);// slf4j日志记录器 private static final Logger logger = LoggerFactory.getLogger(Slf4jTest.class.getName());// slf4j日志记录器 简要记录一下日志级别: 每个Logger都被了一个日志级别(log level),用来控制日志信息的输出。日志级别从高到低分为: A:off 最高等级,用于关闭所有日志记录。 B:fatal 指出每个严重的错误事件将会导致应用程序的退出。 C:error

Log4j理解

纵然是瞬间 提交于 2019-12-21 09:13:31
从刚开始到现在,一直对打印日志什么感兴趣,今天下午有时间,就仔细研究了下。 1.什么是Log4j?什么是slf4j? Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。 SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志 2.如何使用?   如果是maven的话,就要在pom.xnl文件中添加配置依赖文件路径。 3.添加log4.properties配置文件。 说明: log4j.rootCategory=DEBUG, stdout , D,E 此句为将等级为INFO的日志信息输出到stdout和D,E这三个目的地,stdout和D,E的定义在下面的代码,可以任意起名。等级可分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL

log4j与slf4j

我与影子孤独终老i 提交于 2019-12-21 08:24:09
什么是log4j? Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。 什么是slf4j? SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。 实际上,SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。从某种程度上,SLF4J有点类似JDBC,不过比JDBC更简单,在JDBC中,你需要指定驱动程序,而在使用SLF4J的时候,不需要在代码中或配置文件中指定你打算使用那个具体的日志系统。如同使用JDBC基本不用考虑具体数据库一样,SLF4J提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。

log4j

假如想象 提交于 2019-12-21 05:00:22
什么是log4j? 来自百度百科:Log4j是 Apache 的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是 控制台 、文件、 GUI 组件,甚至是套接口服务器、 NT 的事件记录器、 UNIX Syslog 守护进程 等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个 配置文件 来灵活地进行配置,而不需要修改应用的代码。 Log4j由三个重要的组件构成: 日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。 日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度; 输出目的地指定了日志将打印到控制台还是文件中; 输出格式则控制了日志信息的显示内容。 Log4j支持两种配置文件格式, 一种是XML格式的文件,一种是Java特性文件(键=值(xxx.properties)) Java特性文件的配置方法: 1.配置根Logger,其语法为: log 4j.rootLogger = [ level ] , appenderName, appenderName, … 其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定义的级别