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()

获取日志信息的头部

最新文章

  1. Java命令行解析:apache commons-cli
  2. android setVisibility失效不起作用的问题
  3. (转)创建Graphics的三种方法
  4. Drupal7_2:安装drupal
  5. tomcat实现文件打开下载功能
  6. pure的bug记录2
  7. SVN 冲突文件快速解决方法
  8. [Silverlight]常见问题
  9. 只需要一点点C++基础,新手也可以制作单机游戏内存修改器
  10. [BZOJ1507] [NOI2003] Editor (splay)
  11. flex.css
  12. java基础(一)-----java的三大特性之封装
  13. 查看虚拟机里的Centos7的IP
  14. SOP - Validation
  15. python之旅:面向对象进阶
  16. Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)
  17. [转载]Deep Learning(深度学习)学习笔记整理
  18. SQL语言 之 事务控制
  19. 「PHP」策略模式
  20. Codeforces 429B B. Working out

热门文章

  1. vuejs数据和事件
  2. js 实现纯前端将数据导出excel两种方式,亲测有效
  3. imfilter()用法
  4. 重学css3(概览)
  5. java 字符串中是否有数字
  6. latex-word
  7. c++中 endl的意思?
  8. PHP添加扩展模块的方法
  9. 读书笔记3(Teamwork)
  10. HDU 6156 回文 数位DP(2017CCPC)