首页 > 其他 > 详细

log4j

时间:2020-03-11 13:34:33      阅读:58      评论:0      收藏:0      [点我收藏+]

log4j的作用

什么是日志:
  日志是系统运行过程中的后台输出信息,方便程序员进行系统运行的管控以及Bug的查找。
什么是log4j
  log4j是个日志输出的插件.专门用来进行日志的管理的。
传统方式获取日志:
  使用 system.out.println()语句进行后台打印
  问题:
    1、日志信息无法保存
    2、无法显示完整日志信息
    3、日志的显示设有级别,所有的日志混杂在一起显示(无法进行日志信息筛选)
    4、日志显示格式不友好.
  解决:使用log4j
使用log4j进行日志管理:
  特点:
    1、日志可以单独保存在文件中
    2、可以获取完整的日志信息
    3、可以进行日志显示的筛选
    4、格式友好

log4j的级别

  FATAL:致命的错误
  ERROR:异常错误
  WARN:警告
  INFO:信息(方法级别)
  DEBUG:调试(代码级别)

log4j的配置文件解释

注意:配置文件一定要存放在src下,并命名为log4j.properties
  //设置全局默认配置
    log4j. rootCategory=INFO, CONSOLE, LOGFILE
  //设置某个包或者某个类或者某个方法的日志级别和输出位置
    log4j.lagger.包名= FATAL, CONSOL, LOGFILE
    log4j.lagger.包名.类名= FATAL, CONSOL, LOGFILE
    log4j.lagger.包名.类名.方法名= DEBUG, CONSOLE, LOGFILE
  //设置控制台输出配置
    log4j.appender.console = org.apache.log4j.ConsoleAppender
    log4j.appender.console.Threshold = error
    log4j.appender.console.layout = org.apache.log4j.PatternLayout
    log4j.appender.console.layout.ConversionPattern =  %m%n
  //设置文件输出配置
    log4j.appender.LOGFILE = org.apache.log4j.FileAppender
    log4j.appender.LOGFILE.File = logs/log.log
    log4j.appender.LOGFILE.Append = true
    log4j.appender.LOGFILE.Threshold = INFO
    log4j.appender.LOGFILE.layout = org.apache.log4j.PatternLayout
    log4j.appender.LOGFILE.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
  常用的输出格式:
    %p-%d{yyyy/MM/dd hh:mm:ss}-%l-%m%n

 log4j的使用流程

导入log4j的jar包
配置log4j的配置文件
在使用log4j的类中声明全局的Logger对象
  public static Logger logger=Logger.getLogger (类名.class);
使用 Logger 对象调用日志方法进行日志输出语句声明
  logger.debug("我是debug信息");      //一般在方法内部使用
  logger.info("我是info信息");      //一般在调用方法使用
  logger.warn("我是警告信息");     //一般在需要警告的位置使用
  logger.error("我是错误信息");     //在catch代码块中使用
  logger.fata1("我是致命的错误信息");    //在catch代码块中使用

ConversionPattern 日志信息,符号所代表的含义

 -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"输出日志信息换行
 可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如:
 1)%20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。
 2)%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,"-"号指定左对齐。
 3)%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。
 4)%20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边较远输出的字符截掉。
 

log4j

原文:https://www.cnblogs.com/sunny-sml/p/12461769.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!