日志-Log4j&Log4j2
OkidoGreen
这个作者很懒,什么都没留下…
展开
-
日志-源码来理解slf4j的绑定,以及logback对配置文件的加载
https://www.cnblogs.com/youzhibing/p/6849843.html前言 项目中的日志系统使用的是slf4j + logback。slf4j作为一个简单日志门面,为各种loging APIs(像java.util.logging, logback, log4j)提供一个简单统一的接口,有利于维护和各个类的日志处理方式统一。Logback作为一个具体的日志组件...转载 2019-07-04 17:35:59 · 1121 阅读 · 0 评论 -
log4j2自定义Appender(输出到文件/RPC服务中)
声明:原创文章,转载请注明出处。http://www.jianshu.com/u/e02df63eaa871、背景虽然log4j很强大,可以将日志输出到文件、DB、ES等。但是有时候确难免完全适合自己,此时我们就需要自定义Appender,使日志输出到指定的位置上。本文,将通过两个例子说明自定义APPender,一个是将日志写入文件中,另一个是将日志发送到远程Thrift服务中。本转载 2017-08-08 16:51:37 · 9845 阅读 · 0 评论 -
Log4j2 自定义 Appender
虽然log4j2 自带了很多种Appender 但是有时候避免不了不是自己想要的,这时候我们就需要自定义Appender,使日志输出到我们指定的位置,废话少说,上菜! package com.hbzx.log;import java.io.Serializable;import java.util.concurrent.locks.Lock;import java.util.con转载 2016-06-28 15:25:59 · 20044 阅读 · 3 评论 -
slf4j介绍以及实现原理窥探
一、概述 slf4j(全称是Simple Loging Facade For Java)是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就好像我们经常使用的JDBC一样,只是一种规则而已。因此单独的slf4j是不能工作的,它必须搭配其他具体的日志实现方案,比如apache的org.apache.log4j.Logger,jdk自带的java.util.loggi转载 2017-07-10 14:03:03 · 864 阅读 · 0 评论 -
使用Slf4j集成Log4j2构建项目日志系统的完美解决方案
本文转载于:http://www.cnblogs.com/hafiz/p/6160298.html一、背景 最近因为公司项目性能需要,我们考虑把以前基于的log4j的日志系统重构成基于Slf4j和log4j2的日志系统,因为,使用slf4j可以很好的保证我们的日志系统具有良好的兼容性,兼容当前常见几种日志系统,而使用log4j2而不是log4j是因为Log4j 1.x 在高并发情转载 2017-07-10 14:02:23 · 868 阅读 · 0 评论 -
log4j升级为log4j2(不需要改动代码)
http://blog.csdn.net/zouxucong/article/details/56013053公司的项目决定升级log4j,因为log4j2有一个自动删除日志的功能,这样可以减轻运维的一些工作,而且在多线程环境下,log4j2的异步日志系统比log4j和logback提高了十倍的性能(吞吐量和延迟率),官方原文如下:Log4j 2 contains next转载 2017-07-10 14:01:36 · 2037 阅读 · 0 评论 -
log4j1 如何平滑升级到log4j2呢
如题,log4j1 如何平滑升级到log4j2呢? 原来使用Logger.getLogger方法获取到org.apache.log4j.Logger对象的 ,现在LogManager.getLogger 方法获取到org.apache.logging.log4j.Logger 知道了 有一个专门的jar包 log4j-1.2-api-2.0.jar ,导入就可以了,原来代转载 2017-07-10 11:28:18 · 5982 阅读 · 0 评论 -
log4j2 升级问题 (包含log4j与slf4j版本)
所需版本及jar:jar包版本备注slf4j-api1.7.2jcl-over-slf4j 也需要统一使用 1.7.2 版本log4j-slf4j-impl2.3 log4j-api2.3 log原创 2017-07-04 13:41:20 · 12312 阅读 · 0 评论 -
Log4j 2 + Slf4j 的配置和使用
Log4j 2是log4j 1.x和logback的改进版,据说采用了一些新技术(无锁异步、等等),使得日志的吞吐量、性能比log4j 1.x提高10倍,并解决了一些死锁的bug,而且配置更加简单灵活。下面是结合slf4j的配置和使用过程:1、引用依赖包及相关注释:11dependency> groupId>org.apache.logging.log4jgroupId> a转载 2017-07-10 14:03:55 · 1435 阅读 · 0 评论 -
log4j2输出到mongodb
摘要: log4j2输出到mongodb以log4j2 v2.7版本为例,低版本可能不支持。参见:http://logging.apache.org/log4j/2.x/manual/appenders.html#NoSQLAppenderhttps://logging.apache.org/log4j/2.x/runtime-dependencies.htmlhttp转载 2016-12-13 17:29:11 · 4673 阅读 · 1 评论 -
Mybatis3.2+版本 log4j2 Debug 模式打印sql语句
pom:1.7.102.31.2.23.2.8 org.mybatis mybatis-spring ${mybatis-spring.version} org.mybatis mybatis ${mybatis.version} org.slf4j slf4j-api ${slf4j.versio原创 2016-07-12 20:48:29 · 8134 阅读 · 0 评论 -
Log4j2 JDBCAppender的使用
一.缘由最近打算重新整理一下项目的日志系统,将系统日志和业务日志区分开,然后采用文件或是数据库来存储日志,于是上网查了一下log4j的相关配置,并将系统日志写入了数据库,但是发生了一个bug:当写入的信息里存在单引号时,数据库就会报错ORA-00917: 缺失逗号查了一些资料,发现log4j已经很古老了,它对SQL基本没有做任何处理就执行存储操作,这样SQL里可能存在的一些特殊字符转载 2016-12-13 15:50:40 · 2609 阅读 · 0 评论 -
Log4j2+Slf4j快速入门
前言 本文目的在于让RD快速掌握Log4j2+Slf4j在Java Web项目中的使用。 注意:该方法对Servlet3.0+适用,Servlet2.5以前的版本还需额外的步骤,详见:Servlet-2.5。Maven依赖 org.apache.logging.log4j l原创 2017-08-15 15:40:27 · 1342 阅读 · 0 评论 -
log4j2 按天分日志
http://blog.csdn.net/zhang168/article/details/46814489log4j2的按天分日志文件[html] view plain copyRollingFile name="error_appender" fileName="${LOG_HOME}/error.log" filePatte转载 2017-08-29 12:24:35 · 3607 阅读 · 0 评论 -
spring5.0解决Log4jConfigListener过期问题
https://blog.csdn.net/zhiyuzhe/article/details/78850238升级到spring5.0,发现之前web.xml 里配置的log监听Log4jConfigListener被spring废弃了,百度了一下,没有发现答案。 这个是web.xml之前的配置: param> param-name>log4jC转载 2018-03-24 15:51:30 · 2145 阅读 · 0 评论 -
在spring引入log4j(非web项目)
https://blog.csdn.net/u012578322/article/details/78012183在spring中使用log4j引入log4j软件包配置log4j属性加载log4j配置文件默认加载手动加载使用logger本文的整体代码结构是在已经引入spring基本应用的前提下,在spring配置文件中通过@Bean注解创建一个Logger bean,然后在测试代码中使用。[jav...转载 2018-03-24 15:50:06 · 3801 阅读 · 0 评论 -
日志那点事儿——slf4j源码剖析
https://www.cnblogs.com/xing901022/p/4149524.html前言: 说到日志,大多人都没空去研究,顶多知道用logger.info或者warn打打消息。那么commons-logging,slf4j,logback,log4j,logging又是什么关系呢?其中一二,且听我娓娓道来。 手码不易,转载请注明_xingo转载 2018-01-31 11:05:06 · 1191 阅读 · 0 评论 -
LOG4J2 使用示例
pom:1.7.10 2.3 3.3.4 org.slf4j slf4j-api ${slf4j.version} org.slf4j jcl-over-slf4j原创 2017-06-14 11:10:50 · 2785 阅读 · 1 评论 -
log4j2 不使用配置文件,动态生成logger对象
http://www.cnblogs.com/0201zcr/p/5726072.html官方:http://logging.apache.org/log4j/2.x/manual/customconfig.html大家平时使用Log4j一般都是在classpath下放置一个log4j的配置文件,比如log4j.xml,里面配置好Appenders和Loggers,但是前一阵想做某转载 2017-08-29 21:00:32 · 3026 阅读 · 0 评论 -
log4j 不同模块输出到不同的文件
http://www.cnblogs.com/0201zcr/p/5725508.html1、实现目标 不同业务的日志信息需要打印到不同的文件中,每天或者每个小时生成一个文件。如,注册的信息打印到register.log,每天凌晨生成一个register-年月日.log文件, 登录信息的日志打印到一个login.log文件中,login-年月日.log。整体架转载 2017-08-29 20:23:56 · 1373 阅读 · 0 评论 -
log4j2的使用详解(1)
这里采用slf4j和log4j2集成的方式。一,所需jar包或依赖:slf4j-apilog4j-apilog4j-corelog4j-slf4j-impl(集成包)log4j-web(web项目需要)注意:最新的log4j2所需要的jdk版本比较高,由于这里采用的jdk1.6,所以版本最高只能使用2.3的,这里使用的具体版本如下:slf4j转载 2017-08-29 20:21:59 · 3038 阅读 · 0 评论 -
log4j2的xml配置文件详解 (2)
xml默认配置为:xml version="1.0" encoding="UTF-8"?> 2 Configuration status="WARN"> 3 Appenders> 4 Console name="Console" target="SYSTEM_OUT"> 5 PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %转载 2017-08-29 20:20:42 · 3324 阅读 · 0 评论 -
log4j2日志异步打印 (3)
log4j2支持日志的异步打印,日志异步输出的好处在于,使用单独的进程来执行日志打印的功能,可以提高日志执行效率,减少日志功能对正常业务的影响。异步日志在程序的classpath需要加载disruptor-3.0.0.jar或者更高的版本。Asynchronous Loggers是一个新增特性在Log4j 2 ,可以实现完全异步也可以和同步混合使用,还可以只异步化Appender,以提升系转载 2017-08-29 20:18:58 · 4792 阅读 · 0 评论 -
Log4j2 使用自定义Logger, Log中打印不出类名
配置文件:<RollingRandomAccessFile name="lotteryLog" fileName="${LOG_HOME}/lottery.log" filePattern="${LOG_HOME}/lottery.%d{yyyy-MM-dd}-%i.log.gz" append="true">原创 2017-08-29 15:06:18 · 13774 阅读 · 0 评论 -
模拟log4j获取日志对象调用所在的类名、方法名及行号
http://www.cnblogs.com/pangblog/p/3397899.html当我们在记录日志时,每个类中会定义一个日志对象,然后利用这个对象去写日志,那么我们在处理日志时,如何能才能记录日志对象所在的类、方法和行号呢?log4j中已经实现了该功能,那么它是怎么实现的呢? 其实我们可以这样,在要写日志的代码时获得当前的线程信息,这样我们就可以获得上个线程转载 2017-08-29 16:57:00 · 6052 阅读 · 1 评论 -
log4j2 JdbcAppender 官网配置
JdbcAppender 构造函数:@PluginFactory public static JdbcAppender createAppender( @PluginAttribute("name") final String name, @PluginAttribute("ignoreExceptions") final String翻译 2016-12-13 15:27:53 · 4426 阅读 · 0 评论 -
[log4j2] 使用教程详解(怎么使用log4j2)
1. 去官方下载log4j 2,导入jar包,基本上你只需要导入下面两个jar包就可以了(xx是乱七八糟的版本号):log4j-core-xx.jarlog4j-api-xx.jar2. 导入到你的项目中:这个就不说了。3. 开始使用:我们知道,要在某个类中使用log4j记录日志,只需要申明下面的成员变量(其实不一定要是成员变量,只是为了方便调用而已)转载 2016-06-28 15:29:05 · 1324 阅读 · 0 评论 -
Log4j2介绍和特性实例(三)--日志的异步输出
上一篇介绍了一个Log4j2的使用实例,本编将介绍Log4j2的一个重要特性,日志异步输出。日志异步输出的好处在于,使用单独的进程来执行日志打印的功能,可以提高日志执行效率,减少日志功能对正常业务的影响。异步日志在程序的classpath需要加载disruptor-3.0.0.jar或者更高的版本。异步日志分为两种:a.全异步模式这种异步日志方式,不转载 2016-12-12 16:47:34 · 1562 阅读 · 0 评论 -
Log4j2架构及概念简介
log4j——Log for java。此文为读log4j2 user guaid时的翻译及笔记。log4j2与log4j在Logger的继承关系和配置方式上都做出了修改。个人感觉比较有意思的是Logger对象与LoggerConfig解耦的设计,以及Filter中的传递机制,有点像网络包分发,不过多了很多可调控性。前言log4j2可以按照开发人员预先的设定,在指定的位置和转载 2016-06-28 15:29:46 · 1403 阅读 · 0 评论 -
log4j配置文件中的additivity属性
最新写程序,需要采用log4j来收集日志,这样就需要把程序运行日志和收集的日志区分开来。开始一直没有找到可以配置log4j让其独立输出到指定日志文件,于是采用了划分Log4j的等级来解决这个问题;具体实施方案是将父Logger的输出等级设置的高一点,而用来收集日志的Logger的输出等级设置低一点,采用trace方法来打日志;后来找到了log4j的additiv转载 2016-05-15 15:31:33 · 7386 阅读 · 0 评论 -
Slf4j Logger 的封装——Log
很多时候我们为了在类中加日志不得不写一行,而且还要去手动改XXX这个类名?1privatestatic Logger log = LoggerFactory.getLogger(XXX.class);第二个问题,我特别喜欢这种形式: ?转载 2015-10-07 14:19:52 · 13139 阅读 · 3 评论 -
log4j输出多个自定义日志文件,动态配置路径
1. log4j输出多个自定义日志文件 log4j的强大功能无可置疑,但实际应用中免不了遇到某个功能需要输出独立的日志文件的情况,怎样才能把所需的内容从原有日志中分离,形成单独的日志文件呢?其实只要在现有的log4j基础上稍加配置即可轻松实现这一功能。 先看一个常见的log4j.properties文件,它是在控制台和myweb.log文件中记录日志: log4j.ro转载 2015-07-03 08:11:02 · 3658 阅读 · 0 评论 -
Log4j自定义Appender介绍
最初想要在执行一段业务逻辑的时候调用一个外部接口记录审计信息,一直找不到一个比较优雅的方式,经过讨论觉得log4j自定义的appender或许可以实现此功能。后来就了解了一下log4j的这部分。 Apache Log4j 架构 Apache Log4j是当前在J2EE和J2SE开发中用得最多的日志框架(几乎所有项目都用它),因为它具有出色的性能、灵活的配置以及丰富的功能,并且在业务有特转载 2015-06-25 17:02:57 · 2884 阅读 · 0 评论 -
Log4j 记录error 日志
第一个bug的起始,是在线上日志发现一个频繁打印的异常——java.lang.ArrayIndexOutOfBoundsException。但是却没有堆栈,只有一行一行的ArrayIndexOutOfBoundsException。没有堆栈,不知道异常是从什么地方抛出来的,也就不能找到问题的根源,更谈不上解决。题外,工程师在用log4j记录错误异常的时候,我看到很多人这样用(假设e是异常对象):原创 2015-06-25 15:26:24 · 2492 阅读 · 0 评论 -
log4j级别输出 控制
我们知道:log4j.logger.XX cover ==> log4j.rootLoggerlog4j.appender.XX.Threshold决定了最低接收级别也就是说rootLogger首先决定所有log的输出级别,而log4j.logger.XX是对XX路径下的jar包的输出级别的修改,直接覆盖rootLogger但是对于不同的输出口,他们的接收级别是不同的。转载 2014-11-21 16:04:05 · 2548 阅读 · 0 评论 -
Java日志,需要知道的几件事(commons-logging,log4j,slf4j,logback)
如果对于commons-loging、log4j、slf4j、LogBack等都已经非常清楚了,可以忽略本文。几次解决日志冲突问题时对这几个概念的简单总结,希望对这块基础没有理解透的同学能有所帮助,当然如果对这块有更深刻理解的同学,也贡献出自己的知识和见解。一、 概念Commons-logging:apache最早提供的日志的门面接口。避免和具体的日志方案直接耦合。类似于JD转载 2014-06-11 16:54:07 · 2234 阅读 · 0 评论 -
log4j日志配置
1、配置根Logger:log4j.rootLogger = [ level ] , appenderName, appenderName2level:日志的级别,指定这条日志信息的重要性。分为ALL DEBUG , INFO ,WARN ,ERROR四种,分别对应Logger类的四种方法debug(Object message ) ;info(Object message转载 2013-11-20 10:27:38 · 1435 阅读 · 0 评论 -
如何使用Log4j?
1、 Log4j是什么? Log4j可以帮助调试(有时候debug是发挥不了作 用的)和分析,要下载和了解更详细的内容,还是访问其官方网站吧: http://jakarta.apache.org/log4j 。2、Log4j的概念 Log4j中有三个主要的组件,它们分别是 Logger、Appender和Layout,Log4j 允许开发人员定义多个Logger,每个Lo转载 2013-05-09 16:27:14 · 1248 阅读 · 0 评论 -
Log4j最简入门 配置与部署
Log4j实在是很熟悉,几乎所有的Java项目都用它啊。但是我确一直没有搞明白。终于有一天我受不了了,定下心去看了一把文档,才两个小时,我终于搞明白了。一般情况下Log4j总是和Apache Commons-logging一起用的,我也就一起介绍吧。多了个东西不是更麻烦,而是更简单! 一、Log4j的简单思想Log4j真的很简单,简单到令人发指的地步。不是要记录日志吗?那就给你一个转载 2012-11-27 20:48:29 · 1355 阅读 · 0 评论 -
Log4j的进阶使用-自定义类和+自定义输出日志类型+输出文件
自定义java类package com.sitech.nbc.util;import java.io.ByteArrayOutputStream;import java.io.PrintWriter;import org.apache.log4j.Logger;/** * * Title: 系统的调试信息和错误信息的文件记录的接口 * Description: 系统的调试信转载 2016-06-28 16:05:15 · 11112 阅读 · 1 评论