Log4j官方文档翻译(七、日志格式化)
apache log4j提供各种layout对象,然后根据自己指定的layouts对象转化日志信息。通常来说都是应用量身定制layout对象转换信息格式。
所有的layout对象从Appender对象中接收一个LoggingEvent对象。然后通过LoggingEvent对象解析信息,再通过合适的ObjectRenderer获得相应的字符串。
Layout类型
最顶层的抽象类是org.apache.log4j.Layout,这是log4jAPI中layout的基类。
Layout类定义为一个抽象类,我们不能够直接使用;只能通过下面的实例使用:
- DateLayout
- HTMLLayout
- PatternLayout
- SimpleLayout
- XMLLayout
Layout方法
这个类为所有的一般操作提供了基本的框架,以及两个抽象方法:
public abstract boolean ignoresThrowable()
它声明是否把java.lang.Throwable.object当作是日志输出的一部分。如果layout处理这个异常对象,那么就不会忽略这个消息;反之,就会忽略。
public abstract String format(LoggingEvent event)
个人自定义的layout转换格式
除了这些抽象方法,layout类也提供了一系列的接口:
public String getContentType()
它返回了layout的类型,基类返回的是text/plain作为默认的文本类型
public String getFooter()
获取日志信息的尾部
public String getHeader()
获取日志信息的头部
Log4j官方文档翻译(七、日志格式化)的更多相关文章
- Log4j官方文档翻译(八、文件输出)
使用org.apache.log4j.FileAppender可以把日志写到文件中: FileAppender配置 immediateFlush 这个标志默认为true,是否每次有消息产生都自动flu ...
- Log4j官方文档翻译(六、日志的级别)
org.apache.log4j.Level 类提供了下面几种日志级别,你也可以通过继承这些类,自定义级别 ALL 所有日志级别都包括 DEBUG 指定信息事件的粒度是DEBUG,在调试应用的时候会有 ...
- Log4j官方文档翻译(五、日志输出的方法)
日志类提供了很多方法用于处理日志活动,它不允许我们自己实例化一个logger,但是提供给我们两种静态方法获得logger对象: public static Logger getRootLogger() ...
- Log4j官方文档翻译(四、如何在java中输出日志消息)
我们已经创建来配置文件,本章详细的介绍下如何生成调试信息,并把他们转化成文本文件. 基本的例子 下面就是创建的一个基本的例子: log4j.properties的内容为: log = /usr/hom ...
- Log4j官方文档翻译(二、架构设计)
log4j遵循层次化架构,每个层都有不同的对象来执行不同的任务.这种层次话的结构灵活设计.易于未来的扩展. log4j框架中有两种对象: 核心对象:框架的支撑对象,是框架必不可少的组成部分. 支撑对象 ...
- log4j教程 8、日志格式化
Apache log4j 提供了各种布局对象,每一个对象都可以根据各种布局格式记录数据.另外,也可以创建一个布局对象格式化测井数据中的特定应用的方法. 所有的布局对象 - Appender对象收到 L ...
- Log4j官方文档翻译(一、基本介绍)
简介 log4j是使用java语言编写的可靠的.快速的.灵活的日志框架,它是基于Apache的license. log4j支持c,c++,c#,perl,python,ruby等语言.在运行时通过额外 ...
- Log4j官方文档翻译(九、输出到数据库)
log4j提供了org.apache.log4j.JDBCAppender对象,可以把日志输出到特定的数据库. 常用的属性: bufferSize 设置buffer的大小,默认是1 driver 设置 ...
- Log4j官方文档翻译(三、配置)
之前的章节介绍了log4j的核心组件,本章将会通过配置文件介绍一下核心组建的配置. 主要在配置文件中配置log4j的日志级别,定义appender.layout等. log4j.properties是 ...
随机推荐
- BZOJ 3873: [Ahoi2014]拼图
BZOJ 3873: [Ahoi2014]拼图 标签(空格分隔): OI-BZOJ OI-DP Time Limit: 10 Sec Memory Limit: 256 MB Description ...
- 生成.m文件的python代码中出现的错误
错误代码 import tempfile import subprocess import shlex import os import numpy as np import scipy.io scr ...
- 函数定义和调用 -------JavaScript
本文摘要:http://www.liaoxuefeng.com/ 定义函数 在JavaScript中,定义函数的方式如下: function abs(x) { if (x >= 0) { ret ...
- C# 创建子目录
运用DirectoryInfo类创建子目录是非常容易的,你只要调用其中CreateSubdirectory()方法即可,演示代码如下. DirectoryInfo dir = new Director ...
- centos 7 安装以及ip配置
1.安装: root 200M: swap 内存的2倍,如果内存超过4g,最大设为8g就够了: / 剩余: 2.ip配置 (1)动态配置:dhclient ip add (2)静态配置:vi /etc ...
- 判断IP连接数前五,并自动加入防火墙
#!/bin/bash #Author Template #Time -- : log_file=/tmp/tmp.log JudgeExt(){ if expr "$1" : & ...
- vue axios请求频繁时取消上一次请求
一.前言 在项目中经常有一些场景会连续发送多个请求,而异步会导致最后得到的结果不是我们想要的,并且对性能也有非常大的影响.例如一个搜索框,每输入一个字符都要发送一次请求,但输入过快的时候其实前面的请求 ...
- JavaScriptDate(日期)
如何使用Date()方法获取当日的日期. getFullYear(): 使用getFullYear()获取年份. getTime(): getTime()返回1970年1月1日至今的毫秒数. setF ...
- jQuery具体实例介绍什么时候用ajax,ajax应该在什么地方使用
网站开发时,ajax是一个非常方便的工具,它具有和表单相同的功能完成前端和后台之间的交互!它起到局部刷新的功能!那什么时候用ajax呢?下面给大家介绍几个实例,首先应该分为两类: 一.在用表单和aj ...
- CMD终端关于pip报错,scrapy报错的一种处理方法
CMD终端关于pip报错,scrapy报错的一种处理方法 如果在终端输入pip,或scrapy,报如下错误: Fatal error in launcher: Unable to create pro ...