- 浏览: 498934 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
log4j 详解
1.Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)
Loggers(记录器),日志写出器 ,供程序员输出日志信息 ,收集日志信息源数据
Appenders(输出源),就是输出到的地方(文件、控制台)
Layouts(布局),日志信息的布局(输出形式),定义输出格式
工作原理:
1.应用程序调用Loggers输入日志源信息。
2.Loggers查看日志源信息等级,过滤不符合等级的。
3.将日志源信息格式化为Layouts(布局)定义的格式的信息
4.按输出目的地进行格式化后信息的输出。
配置根 Logger ,其语法为:(收集那些级别的信息和定输出的地方有那些)
log4j.rootLogger = [ level ] , appenderName, appenderName, …
1.level 是日志记录的优先级,分为 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 ALL 或者您定义的级别。 Log4j 建议只使用四个级别 ,优先级从高到低分别是 ERROR 、 WARN 、 INFO 、 DEBUG 。
2.通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定 义了 INFO 级别,则应用程序中所有 DEBUG 级别的日志信息将不被打印出来 。
3.appenderName 就是指日志信息输出到哪个地方。您可以同时指定多个输出目的地。
配置日志信息输出目的地 Appender ,其语法为:(输出目的地的参数配置)
log4j.appender.appenderName = fully.qualified.name.of.appender.class. 其中, Log4j 提供的 appender 有以下几种:
1.org.apache.log4j.ConsoleAppender (控制台),
2.org.apache.log4j.FileAppender (文件),
3.org.apache.log4j.DailyRollingFileAppender (每天产生一个日志文件),
4.org.apache.log4j.RollingFileAppender (文件大小到达指定尺寸的时候产生一个 新的文件)
5.org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方)
6.选择了其中一种后,还要就每一种选项进行相关参数的配置
配置日志信息的格式(布局),其语法为:(定义输出源的信息格式化)
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
1.org.apache.log4j.HTMLLayout (以 HTML 表格形式布局),
2.org.apache.log4j.PatternLayout (可以灵活地指定布局模式),
3.org.apache.log4j.SimpleLayout (包含日志信息的级别和信息字符串),
4.org.apache.log4j.TTCCLayout (包含日志产生的时间、线程、类别等等信息)
5.选择了其中一种后,还要就每一种选项进行相关参数的配置
配置多个Logger
1.除了根Logger,不可以定义多个Logger
log4j的logger继承性
1.子logger会叠加式地继承父logger的所有appender
例子:
log4j.properties
参考原文:http://blog.csdn.net/anlina_1984/article/details/5313023
参考原文:http://blog.sina.com.cn/s/blog_5ed94d710101go3u.html
参考原文(配置多个Logger):http://www.cnblogs.com/shenliang123/archive/2012/05/02/2479286.html
参考原文(log4j的logger继承性):http://blog.csdn.net/java_belucky/article/details/22267795
1.Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)
Loggers(记录器),日志写出器 ,供程序员输出日志信息 ,收集日志信息源数据
Appenders(输出源),就是输出到的地方(文件、控制台)
Layouts(布局),日志信息的布局(输出形式),定义输出格式
工作原理:
1.应用程序调用Loggers输入日志源信息。
2.Loggers查看日志源信息等级,过滤不符合等级的。
3.将日志源信息格式化为Layouts(布局)定义的格式的信息
4.按输出目的地进行格式化后信息的输出。
配置根 Logger ,其语法为:(收集那些级别的信息和定输出的地方有那些)
log4j.rootLogger = [ level ] , appenderName, appenderName, …
1.level 是日志记录的优先级,分为 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 ALL 或者您定义的级别。 Log4j 建议只使用四个级别 ,优先级从高到低分别是 ERROR 、 WARN 、 INFO 、 DEBUG 。
2.通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定 义了 INFO 级别,则应用程序中所有 DEBUG 级别的日志信息将不被打印出来 。
3.appenderName 就是指日志信息输出到哪个地方。您可以同时指定多个输出目的地。
如:log4j.rootLogger=info, ServerDailyRollingFile, stdout
配置日志信息输出目的地 Appender ,其语法为:(输出目的地的参数配置)
log4j.appender.appenderName = fully.qualified.name.of.appender.class. 其中, Log4j 提供的 appender 有以下几种:
1.org.apache.log4j.ConsoleAppender (控制台),
2.org.apache.log4j.FileAppender (文件),
3.org.apache.log4j.DailyRollingFileAppender (每天产生一个日志文件),
4.org.apache.log4j.RollingFileAppender (文件大小到达指定尺寸的时候产生一个 新的文件)
5.org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方)
6.选择了其中一种后,还要就每一种选项进行相关参数的配置
如:log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender log4j.appender.ServerDailyRollingFile.File=C://logs/notify-subscription.log //就选项file进行相关参数的配置(因为输出目的地为file)
配置日志信息的格式(布局),其语法为:(定义输出源的信息格式化)
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
1.org.apache.log4j.HTMLLayout (以 HTML 表格形式布局),
2.org.apache.log4j.PatternLayout (可以灵活地指定布局模式),
3.org.apache.log4j.SimpleLayout (包含日志信息的级别和信息字符串),
4.org.apache.log4j.TTCCLayout (包含日志产生的时间、线程、类别等等信息)
5.选择了其中一种后,还要就每一种选项进行相关参数的配置
如:log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%p] [%c %M %L %F] %m%n
配置多个Logger
1.除了根Logger,不可以定义多个Logger
如:log4j.logger.test = info, stdout //定义一个test logger
log4j的logger继承性
1.子logger会叠加式地继承父logger的所有appender
比如: log4j.logger.com.test = info, stdout log4j.logger.com.test.a = info, stdout 结果会导致test.a下的所有日志会在stdout输出两次。
例子:
log4j.properties
log4j.rootLogger=info, ServerDailyRollingFile, stdout log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender log4j.appender.ServerDailyRollingFile.DatePattern='.'yyyy-MM-dd log4j.appender.ServerDailyRollingFile.File=C://logs/notify-subscription.log log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%p] [%c %M %L] %m%n log4j.appender.ServerDailyRollingFile.Append=true log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%p] [ %M %L %F] %m%n #定个一个logger log4j.logger.xing=INFO,xing log4j.appender.xing=org.apache.log4j.ConsoleAppender log4j.appender.xing.layout=org.apache.log4j.PatternLayout log4j.appender.xing.layout.ConversionPattern=xing %%d{yyyy-MM-dd HH:mm:ss} %p [%c] %m%n #定个一个xing logger的子logger,以点进行表示继承关系,子logger会叠加式地继承父logger的所有appender log4j.logger.xing.a=INFO,yong log4j.appender.yong=org.apache.log4j.ConsoleAppender log4j.appender.yong.layout=org.apache.log4j.PatternLayout log4j.appender.yong.layout.ConversionPattern=yong %%d{yyyy-MM-dd HH:mm:ss} %p [%c] %m%n
import org.apache.log4j.PropertyConfigurator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class LogTest { public static void main(String[] args) { //PropertyConfigurator.configure("D:\\Test\\log4j.properties"); PropertyConfigurator.configure("log4j.properties"); //读入参数配置文件,没有配置文件时会有一个默认的配置文件 //Logger logger = LoggerFactory.getLogger("xing"); //得到xing这个Logger Logger logger = LoggerFactory.getLogger("xing.a"); //得到xing.a这个Logger //Logger logger = LoggerFactory.getLogger(xing.a.class); logger.info("log message"); //也可以用 //org.apache.log4j.Logger logger = LogManager.getLogger("xing.a"); //得到xing.a这个Logger //logger.info("log message"); } }
参考原文:http://blog.csdn.net/anlina_1984/article/details/5313023
参考原文:http://blog.sina.com.cn/s/blog_5ed94d710101go3u.html
参考原文(配置多个Logger):http://www.cnblogs.com/shenliang123/archive/2012/05/02/2479286.html
参考原文(log4j的logger继承性):http://blog.csdn.net/java_belucky/article/details/22267795
相关推荐
### Log4j详解:日志记录的全面解析 #### 标题与描述解析: 标题“log4j详解(超详细)”与描述“log4j详解(超详细)”明确指出文章将对Log4j这一日志框架进行深入且详尽的介绍。Log4j作为一款流行的开源日志组件...
Log4j 详解 Log4j 是一款功能强大的日志记录工具,广泛应用于 Java 应用程序中。它可以帮助开发人员调试和分析程序,记录程序的运行情况,并提供了灵活的配置方式来控制日志的输出。 Log4j 的概念 Log4j 中有三个...
**Log4j详解与实战** Log4j是Java平台上的一个广泛应用的日志框架,由Apache软件基金会开发。它提供了一种灵活、强大的日志记录机制,使得开发者可以在应用程序中轻松地进行日志输出,便于调试、性能分析以及系统...
### Log4j详解 #### 1. Log4j简介 Log4j是Apache下的一个开源项目,用于实现灵活的日志管理。它可以帮助开发者控制日志信息的输出目的地、格式以及生成过程,这一切都可以通过简单的配置文件来实现,而无需修改...
Log4j详解
### Log4j详解:日志记录的精妙与配置解析 Log4j是Apache软件基金会下的一个开源项目,用于Java应用程序的日志记录。它提供了一种灵活、强大的日志记录框架,可以定制日志级别、格式和输出目标,极大地提高了应用的...
【log4j详解】 在Java开发中,日志记录是一个至关重要的部分,它帮助开发者监控程序行为、追踪错误和调试代码。Log4j是Apache软件基金会的一个开源项目,提供了强大的日志处理能力。本文将深入解析Log4j,探讨其...
### Log4j 详解与实战 #### 一、Log4j 概述 Log4j 是 Apache 的一个开源项目,它是由 Java 编写的一款功能强大的日志记录工具。Log4j 具备灵活的日志配置能力,允许开发者在运行时动态地控制日志输出的等级、格式...
### Log4j 配置详解 #### 一、概述 Log4j 是一款非常流行的 Java 日志框架,它提供了一种灵活的日志记录机制。在实际应用中,开发者可以通过简单的配置来实现对日志级别的控制、日志信息的格式化以及日志文件的...
Log4j 在 SSM 整合中的配置详解 Log4j 是一个功能强大且广泛使用的日志记录工具,特别是在 SSM(Spring、Spring MVC、Mybatis)整合项目中,合理地配置 Log4j 对项目的日志记录和输出至关重要。本文将详细介绍 SSM...
### Log4j详解 #### 输出级别的种类 在Log4j中,日志记录的信息可以根据不同的级别进行筛选。这些级别从高到低分别为:`FATAL`、`ERROR`、`WARN`、`INFO`、`DEBUG`。这些级别的定义如下: - **FATAL**:致命错误...
在“log4j详解”部分,我们首先会了解到Log4j的核心概念,包括Logger、Appender、Layout和Level。Logger是记录日志的对象,它可以设置不同的级别(如DEBUG、INFO、WARN、ERROR和FATAL),以便控制不同级别的信息输出...
**日志框架Log4j详解** 日志框架在软件开发中扮演着至关重要的角色,它提供了记录应用程序运行过程中的各种事件的功能,便于调试、监控和问题排查。Log4j是Apache组织开发的一个开源的日志记录工具,广泛应用于Java...