Log4j基本概念

Log4j的作用和级别:
  什么是日志:
    日志是系统运行过程中的后台输出信息,方便程序员进行系统运行的管控以及Bug的查找.
    
  什么是log4j?
    log4j是一个日志输出的插件,专门用来进行日志的管理的.
    
  传统方式获取日志:
  问题:
   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(向log文件输出)
   //设置某个包或者某个类或者某个方法的日志级别和输出位置
    log4j.logger.包名=DEBUG,LOGFILE
    log4j.logger.包名.类名=DEBUG,LOGFILE
    log4j.logger.包名.类名.方法=DEBUG,LOGFILE
   //设置控制台输出配置
    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
    ##log4j.appender.CONSOLE.Threshould=error
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
    log4j.appender.CONSOLE.layout.ConversionPattern=%C %p %m %n
   //设置文件输出配置
    log4j.appender.LOGFILE=org.apache.log4j.FileAppender
    log4j.appender.LOGFILE.File=E:/my.log
    log4j.appender.LOGFILE.Append=true
    ##log4j.appender.CONSOLE.Threshould=error
    log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.LOGFILE.layout.ConversionPattern=%C %m %L %n
   
  常用的输出格式:
    %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字符,就从左边交远销出的字符截掉。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值