查看“Log4j 的组件和配置文件介绍”的源代码
←
Log4j 的组件和配置文件介绍
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
https://www.bilibili.com/video/BV1iJ411H74S?p=12 === Log4j 组件 === Log4j 主要由 Loggers(日志记录器)、Appenders(输出端)和 Layout(日志格式化器)组成。 其中 Loggers 控制日志的输出级别与日志是否输出; Appenders 指定日志的输出方式(输出到控制台、文件等); Layout 控制日志信息的输出格式 ==== Loggers ==== 日志记录器,负责收集处理日志记录,实例的命名就是类“XX”的 full quailied name(类的全限定名), Logger 的名字大小写敏感,其命名有继承机制: 例如:name 为 org.apache.commons 的 logger 会继承 name 为 org.apache 的 logger Log4j 中有一个特殊的 logger 叫做“root”,它是所有 logger 的根,也就意味着其他所有的 logger 都会直接或者间接地继承 root。 root logger 可以用 Logger.getRootLogger() 方法获取 但是,自 log4j 1.2 版本以来,Logger 类已经取代了 Category 类。对于熟悉早期版本的 log4j 的人来说,Logger 类可以被视为 Category 类的别名 [[文件:Log4j 类结构.png|无|缩略图|729x729像素]] ==== Appenders ==== Appender 用来指定日志输出到哪个地方,可以同时指定日志的输出目的地。 Log4j 常用的输出目的地有以下几种: {| class="wikitable" !输出端类型 !作用 |- |ConsoleAppender |将日志输出到控制台 |- |FileAppender |将日志输出到文件中 |- |DailyRollingFileAppender |将日志输出到一个日志文件,并且每天输出到一个新的文件 |- |RollingFileAppender |将日志信息输出到一个日志文件,并且指定文件的大小,当文件大小达到指定大小时,会自动把文件改名,同时产生一个新的文件 |- |JDBCAppender |将日志信息保存到数据库中 |} ==== Layouts ==== 布局器 Layouts 用于控制日志输出内容的格式,让我们可以使用各种需要的格式输出日志。 Log4j 常用的 Layouts: {| class="wikitable" !格式化器类型 !作用 |- |HTMLLayout |格式化日志输出为 HTML 表格形式 |- |SimpleLayout |简单的日志输出格式化,打印的日志格式为(info - message) |- |PatternLayout |最强大的格式化器,可以根据自定义格式输出日志,如果没有指定转换格式, 就使用默认的转换格式 |} ==== 使用配置文件 ==== ===== log4j.properties ===== <syntaxhighlight lang="properties"> log4j.rootLogger = trace,console log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.layout = org.apache.log4j.SimpleLayout </syntaxhighlight><code>log4j.rootLogger = trace,console</code> 指定 rootLogger 的日志级别是 trace,并且使用 name 为 console 的 Appender; <code>log4j.appender.console = org.apache.log4j.ConsoleAppender</code> 声明了一个 name 为 console 的 org.apache.log4j.ConsoleAppender <code>log4j.appender.console.layout = org.apache.log4j.SimpleLayout</code> 为 name 为 console 指定了布局为 org.apache.log4j.SimpleLayout ===== Log4jTest.java ===== <syntaxhighlight lang="java"> import org.apache.log4j.Logger; import org.junit.Test; public class Log4jTest { // 快速入门 @Test public void testQuick() { // 初始化配置信息,在入门案例中暂不使用配置文件 // BasicConfigurator.configure(); // 获取日志记录器对象 Logger logger = Logger.getLogger(Log4jTest.class); // 日志记录输出 logger.info("hello log4j"); // 日志级别 logger.fatal("fatal"); // 严重错误,一般会造成系统崩溃并终止运行 logger.error("error"); // 错误信息,不会影响系统运行 logger.warn("warn"); // 警告信息,可能会发生问题 logger.info("info"); // 运行信息,数据连接、网络连接、IO 操作等等 logger.debug("debug"); // 调试信息,一般在开发中使用,记录程序变量参数传递信息等等 logger.debug("trace"); // 追踪信息,记录程序所有的流程信息 } } </syntaxhighlight><syntaxhighlight lang="console"> INFO - hello log4j FATAL - fatal ERROR - error WARN - warn INFO - info DEBUG - debug DEBUG - trace </syntaxhighlight>
返回至
Log4j 的组件和配置文件介绍
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
Spring Boot 2 零基础入门
Spring Cloud
Spring Boot
设计模式之禅
VUE
Vuex
Maven
算法
技能树
Wireshark
IntelliJ IDEA
ElasticSearch
VirtualBox
软考
正则表达式
程序员精讲
软件设计师精讲
初级程序员 历年真题
C
SQL
Java
FFmpeg
Redis
Kafka
MySQL
Spring
Docker
JMeter
Apache
Linux
Windows
Git
ZooKeeper
设计模式
Python
MyBatis
软件
数学
PHP
IntelliJ IDEA
CS基础知识
网络
项目
未分类
MediaWiki
镜像
问题
健身
国债
英语
烹饪
常见术语
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息