转!!log4j基础
log4j组件介绍
Log4j主要有三个组件:
- Logger:负责供客户端代码调用,执行debug(Object msg)、info(Object msg)、warn(Object msg)、error(Object msg)等方法。
- Appender:负责日志的输出,Log4j已经实现了多种不同目标的输出方式,可以向文件输出日志、向控制台输出日志、向Socket输出日志等。
- Layout:负责日志信息的格式化。
Logger 层级介绍
Logger的层级是logger名字指定的,如x.y 表示两层,x层和y层,x是y的父层级,x.y所在层级是y层级
log4j.additivity.* = false : 表示当前logger不需要打到父层级所指定的appender,只打到当前的appender;
默认true:表示当前logger将打印日志到当前的appender及所有的父层级所指定的appender
执行顺序及关系
调用Log4j输出日志时,调用各个组件的顺序:
- 1、日志信息传入 Logger。
- 2、将日志信息封装成 LoggingEvent 对象并传入 Appender。
- 3、在 Appender 中调用 Filter 对日志信息进行过滤,调用 Layout 对日志信息进行格式化,然后输出。 转自:http://gemantic.iteye.com/blog/1234996
首先要对配置文件的各个参数进行说明,这样才能合理的进行配置。
参数意义说明:
配置根Logger
- 其语法为:
- log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
- level: 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或
- 者您定义的级别。Log4j建议只使用四个级别,优 先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定 义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。
- appenderName: 就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。
- 例如:log4j.rootLogger=info,A1,B2,C3
输出级别的种类
- OFF 、FATAL 、ERROR、WARN、INFO、DEBUG、TRACE 、ALL
- OFF 为最高等级 关闭了日志信息
- FATAL 为可能导致应用中止的严重事件错误
- ERROR 为严重错误 主要是程序的错误
- WARN 为一般警告,比如session丢失
- INFO 为一般要显示的信息,比如登录登出
- DEBUG 为程序的调试信息
- TRACE 为比DEBUG更细粒度的事件信息
- ALL 为最低等级,将打开所有级别的日志
配置日志信息输出目的地
- log4j.appender.appenderName = fully.qualified.name.of.appender.class
- 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(将日志信息以流格式发送到任意指定的地方)
配置日志信息的格式
- 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(包含日志产生的时间、线程、类别等等信息) 转自:http://blog.csdn.net/hu_shengyang/article/details/6754031
转!!log4j基础的更多相关文章
- Log4J基础详解及示例大全
去年这个时候,为做软件工程的大作业就详细学过Log4J的用法了,时隔一年想要在新的项目中好好使用一下的时候,发现几乎全忘了,悲催啊-- 再上网查资料,总是不能找到一篇符合我的口味,拿来就能轻松上手,方 ...
- log4j 基础教程【转】
参考引用自: http://javacrazyer.iteye.com/blog/1135493 我的git地址: https://git.oschina.net/KingBoBo/Log4JDemo ...
- Log4j基础知识
Log4J是Apache的一个开放源代码的项目.通过使用Log4J,程序员可以控制日志信息输送的目的地,包括控制台,文件,GUI组件和NT事件记录器,也可以控制每一条日志的输出格式,或通过定义每一条日 ...
- Log4J基础详解及示例大全(转)
log4j可以通过使用配置文件的方式进行配置. 配置步骤如下: 1.定义日志组件logger 每个logger都可以拥有一个或者多个appender,每个appender表示一个日志的输出目的地,比如 ...
- log4j基础配置使用
添加log4j的jar包:可以从maven处下载:https://mvnrepository.com/artifact/log4j/log4j/1.2.17 <!-- https://mvnre ...
- Log4J基础
Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式.日志信息的优先级从高到低有ERROR.WARN. INFO.DEBUG,分别用来指定这条日志信息的重要程度: ...
- 《手把手教你》系列基础篇(八十六)-java+ selenium自动化测试-框架设计基础-Log4j实现日志输出(详解教程)
1.简介 自动化测试中如何输出日志文件.任何软件,都会涉及到日志输出.所以,在测试人员报bug,特别是崩溃的bug,一般都要提供软件产品的日志文件.开发通过看日志文件,知道这个崩溃产生的原因,至少知道 ...
- Log4j配置详解(转)
一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...
- log4j的配置
转载:http://it.oyksoft.com/log4j/ 收藏:http://www.cnblogs.com/ITEagle/archive/2010/04/23/1718365.html 一. ...
随机推荐
- 浅谈Entity Framework 增删改查和事务操作
1.增加对象 DbEntity db = new DbEntity(); //创建对象实体,注意,这里需要对所有属性进行赋值(除了自动增长主键外),如果不赋值,则会数据库中会被设置为NULL(注意是否 ...
- TCP 长连接与短连接的区别
TCP连接 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的 ...
- Python之路-python(面向对象进阶)
一.面向对象高级语法部分 1.静态方法.类方法.属性方法 2.类的特殊方法 3.反射 二.异常处理 三.Socket开发基础 一.面向对象高级语法部分 静态方法(@staticmethod) 定义:只 ...
- Python之路-python(面向对象一)
一.面向对象介绍 二.为什么要用面向对象开发 三.封装.继承.多态.类.方法 面向过程和面向对象的区别 编程范式: 一般情况下,拿到一个项目不同的两个人有不同的编写方式(相同的是固定的语法.数据结构) ...
- docker入门的文章
PART 1: OVERVIEW OF MICROSERVICE ARCHITECTURE & CONTAINERIZATION PART II: GETTING SET-UP AND STA ...
- [Android Tips] 12. How to Create a Dash Line Shape
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...
- bootstrap入门-2.固定的内置样式
HTML5文档类型(Doctype) Bootstrap使用了一些HTML5元素和CSS属性,所以需要使用HTML5文档类型. <!DOCTYPE html> <html> . ...
- this 的工作原理
JavaScript 有一套完全不同于其它语言的对 this 的处理机制. 在五种不同的情况下 ,this 指向的各不相同. 全局范围内 this; 当在全部范围内使用 this,它将会指向全局对象. ...
- [tp3.2.1]查询(2)
<?php namespace Home\Controller; use Think\Controller; use Think\Model; class QueryController ext ...
- FastJSON 之bean列表转换为JSON
实例 import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON; public class ...