美文网首页
Java日志:Log4j

Java日志:Log4j

作者: 我的袜子都是洞 | 来源:发表于2018-12-26 21:11 被阅读1次

为啥叫Log4j?

Log4j就是log for java。是针对Java语言输出日志的工具,够见名知意吧?

Log4j干嘛的?

记录日志
为啥要记录日志?
为了记录便于分析。直接打印到控制台实在太low。

Log4j使用须知

要导包,jar文件,不导包玩个锤子

Log4j配置文件讲解

java配置文件采用key = value的方式存储配置

实例配置文件:

log4j.rootLogger = debug,C,D,E

log4j.appender.C = org.apache.log4j.ConsoleAppender
log4j.appender.C.Target = System.out
log4j.appender.C.layout = org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern = [%5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = /home/soft01/log4j/debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = debug 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = /home/soft01/log4j/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

讲解:

  • rootLogger:
  • debug: LEVEL日志记录的优先级
  • C,D,E:目的地,表示日志会输出到这CDE这3个地方

配置信息输出方式:

  • org.apache.log4j.ConsoleAppender:输出到控制台
  • org.apache.log4j.FileAppender:输出到文件,且每天产生一个新文件
  • org.apache.log4j.DailyRollingFileAppender:输出到文件,且每天产生一个新文件
  • org.apache.log4j.RollingFileAppender:输出到文件,且当文件达到一定大小产生一个新文件

log4j.appender.C.Target:发送的目的地:

  • System.out:发送到控制台标准流
  • log4j.appender.D.File:发送到指定的文件中

log4j.appender.E.Append:文件追加方式

  • true:追加
  • false:覆盖

log4j.appender.E.Threshold:指定消息输出的最低层次

  • debug
  • ERROR

log4j.appender.E.layout:设置显示样式

  • org.apache.log4j.PatternLayout:自定义模式
  • HtmlLayout:HTML表格形式
  • SimpleLayout:包含日志级别、信息的简单模式
  • TTCClayout:包含日志时间、线程、类别的信息

log4j.appender.E.layout.ConversionPattern:设置显示样式

  1. [%5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
  2. %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
  3. %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
  • %5p:p表示优先级,5表示输出宽度不够5位用空格补,补在p前(右对齐)
  • %d:时间格式表示后面会输出时间,
  • %-d:左对齐,
  • %n:换行
  • %t:表示输出产生该日志事件的线程名
  • %i:输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数

Log4j如何使用

  1. 准备好配置文件
    将配置文件log4j.properties放入src文件夹中,编译时可以自动移植(找到对应字节码文件路径)。
  2. 获得日志对象
    Logger log = Logger.getLogger(类名.class);
  3. 调用对应等级的方法。如debug
    logger.debug("干debug");

完整实例代码:


日志实例

相关文章

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

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

  • 2018-01-14 Java应用日志

    java日志体系 java日志体系很混乱。在日志实现框架在有log4j,log4j2,java.util.log,...

  • Java日志框架JUL

    1 日志实现原理 Java 的日志框架有很多,比如:JUL(Java Util Logging)、Log4j、Lo...

  • 无标题文章

    Java日志处理问题? Java中日志处理,用了druid和log4j处理日志,druid对项目进行监控,通过lo...

  • 【日志】基本概念

    1.日志工具介绍 有很多的日志工具,主要分为两类: 日志实现类:Log4j、Logback、java自带 java...

  • log4j和logback区别

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

  • Java日志体系整体梳理

    一、Java日志体系的发展历程 Log4j:在JDK 1.3及以前,Java打日志依赖System.out.pri...

  • Windows10中使用VS2022和Cmake编译构建C++开

    一、关于C++中的开源日志库spdlog Java中有很多日志库:java.util.logging、Log4j、...

  • Java日志:Log4j

    为啥叫Log4j? Log4j就是log for java。是针对Java语言输出日志的工具,够见名知意吧? Lo...

  • log4j2+Slf4j日志配置文件

    log4j简介 log4j是java常见的日志输出框架, 2015年5月,Apache宣布Log4J 1.x 停止...

网友评论

      本文标题:Java日志:Log4j

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