美文网首页
log4j日志

log4j日志

作者: code_plus | 来源:发表于2017-05-30 20:07 被阅读0次

log4j.properties配置

日志输出级别

  • ERROR
  • WARN
  • INFO
  • DEBUG

输出位置

log4j.appender.appenderName = fully.qualified.name.of.appender.class

  • org.apache.log4j.ConsoleAppender(控制台)
  • org.apache.log4j.FileAppender(文件)
  • org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
  • org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
  • org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方

输出格式

log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class

  • org.apache.log4j.HTMLLayout(以HTML表格形式布局),
  • org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
  • org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
  • org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

PatternLayout

  • -X号: X信息输出时左对齐;
  • %p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,
  • %d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
  • %r: 输出自应用启动到输出该log信息耗费的毫秒数
  • %c: 输出日志信息所属的类目,通常就是所在类的全名
  • %t: 输出产生该日志事件的线程名
  • %l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main (TestLog4.java:10)
  • %x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
  • %%: 输出一个"%"字符
  • %F: 输出日志消息产生时所在的文件名称
  • %L: 输出代码中的行号
  • %m: 输出代码中指定的消息,产生的日志具体信息
  • %n: 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行

可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。
如:

  • %20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。
  • %-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,"-"号指定左对齐。
  • %.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。
  • %20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边较远输出的字符截掉。

使用问题总结

log打印两遍问题

子Logger会继承父Logger的输出源,会导致某些情况下日志输出两次或者多次。

log4j.rootLogger=info,Console
log4j.logger.childLogger=debug,Console

如果不想继承输出源,可以设置additivity,如下:

log4j.additivity.childLogger=false

相关文章

  • Netty源码分析-08 Netty的日志

    8.1 Java的日志系统 java领域存在多种日志框架,目前常用的日志框架包括Log4j,Log4j 2,Com...

  • Mybatis日志级别

    1.1 log4j简介 log4j是Apache提供的一款记录日志的工具 log4j既可以将日志信息打印在控制台,...

  • log4j随笔

    log4j 一 简介: log4j其实就是提供一套日志记录的工具, 可以根据配置文件, 生成不同的日志效果 日志的...

  • java日志框架log4j的使用

    log4j 简介 Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志...

  • log4j详细介绍

    log4j是什么 *Apache的开源项目log4j是一个功能强大的日志组件(框架),提供方便的日志记录。 日志的...

  • log4j日志相对路径,Tomcat(第三方和Springboo

    关于Log4j日志相对路径的配置请看:log4j 产生的日志位置设置和catalina.home、catalina...

  • log4j和logback区别

    在java世界里, 日志框架通常有log4j 和slf4j, 而日志实现常用有log4j和logback, 通常情...

  • Log4j日志实例的继承与覆盖

    一、日志实例 log4j核心类图 创建Logger实例: 使用log4j的日志功能时,首先需要创建一个Logger...

  • #30天专注成长计划# day23 Log4j输出日志格式

    Log4j输出日志格式 Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下: - ...

  • logback学习笔记

    目的:将项目中的log4j改为logback,并且使用门面日志slf4j进行打印日志。 1.删除log4j的依赖 ...

网友评论

      本文标题:log4j日志

      本文链接:https://www.haomeiwen.com/subject/kkgrfxtx.html