没有合适的资源?快使用搜索试试~ 我知道了~
Log4J(Log for java)是Apache的一个开放源代码项目,它是一个日志操作包,通过使用Log4J,可以指定日志信息输出的目的地,如控制台、文件、CUI组件、NT的事件记录器;还可以控制每一条日志输出格式。此外,通过定义日志信息的级别,能够非常细致地控制日志的输出,最令人感兴趣的是,这些功能可以通过一个配置文件来灵活进行配置,而不需要修改应程序代码。
资源推荐
资源详情
资源评论
使用 Log4J 进行日志操作
Log4J 简介
Log4J(Log for java)是 Apache 的一个开放源代码项目,它是一个日志操作包,通过使
用 Log4J,可以指定日志信息输出的目的地,如控制台、文件、CUI组件、NT 的事件记录
器;还可以控制每一条日志输出格式。此外,通过定义日志信息的级别,能够非常细致地控
制日志的输出,最令人感兴趣的是,这些功能可以通过一个配置文件来灵活进行配置,而不
需要修改应程序代码。
在应用程序中输出日志有3个目的:
监视代码中变量的变化情况,把数据周期性记录到文件中供其他应用进行统计分析
工作
跟踪代码运行时轨迹,作为日后审计的依据
担当集成开发环境中的调试器的作用,向文件和控制台打印代码的调试信息
要在程序中输出日志,最普通的做法就是在代码中嵌入语句,这些打印语句可以把日志
输出到控制台或文件中,比较好的做法就是构造一个日志操作类来封装此类操作,而不是让
一系列的打印语句充斥代码的主体。
Log4j 三大组件
在强调可重用组件的今天,除了自己从头到尾开发一个可重用的日志操作类名,Apache
为我们提供了一个强有力的现成的日志操作包 Log4J。
Log4J 主要由三大组件构成:
Logger:负责生成日志,并能够对日志信息进行分类筛选,通俗地讲就是决定什么日
志信息应该输出,什么日志信息应该被忽略
Appender:定义了日志信息输出的目的地,指定日志信息应该被输出到什么地方,
这些地方可以是控制台、文件、网络设备等
Layout: 指定日志信息的输出格式
这个3个组件协同工作,使得开发者能够依据日志信息类别记录信息,并能够在程序
运行期间,控制日志信息的输出格式以及日志存放地点。
一个 Logger 可以有多个 Appender,这意味着日志信息可以同时输出到多个设备上,
每个 Appender 都对应一种 Layout,Layout 决定了输出日志信息的格式。
1
假定根据实际需要,要求程序中的日志信息既能输出到程序运行的控制台下,又能
输出到指定的文件中,并且当日志信息输出到控制台时 SimplLayout 布局,当日志信息
输出到文件时 PatternLayout 布局,此时 Logger、Appender 和 Layout3 个组件的关系如
图
Appender 组件 (指定输出目的)
Log4J 的 Appender 组件决定将日志信息输出到什么地方。日前 Log4J 的 Appender 支持
将日志信息输出到以下的目的:
控制台(Console)
文件
GUI组件
一个 logger 可以同时对应多个 Appender,也就是说,一个 Logger 的日志信息可以同时输
出到多个目的地,例如:要为 rootLogger 配置两个 Appender; 一个是 file,一个是 console,
则可以采用如下配置代码:
log4j.rootLogger =WARN,file,console rootLogger 配置日志级别、输出目的;
log4j.appender.file=org.apache.log4jRollingFileAppender
log4j.appender.console=org.apache.log4j.ConsoleAppender
Layout 组件
Layout 组件用来决定日志的输出格式,它有以下几种类型
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
org.apache.log4j.SimpleLayout(包含日志信息级别和信息字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程和类别等信息)
# 指定日志输出的格式:灵活的格式
log4j.appender.console.layout=org.apache.log4j.PatternLayout
2
剩余7页未读,继续阅读
资源评论
请叫我木丁西
- 粉丝: 152
- 资源: 53
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- VMware 是一款功能强大的虚拟化软件,它允许用户在一台物理计算机上同时运行多个操作系统
- 31万条全国医药价格与采购数据.xlsx
- SQL注入详解,SQL 注入是一种常见的网络安全漏洞,攻击者通过在输入数据中插入恶意的 SQL 语句,欺骗应用程序执行这些恶意语句,从而获取、修改或删除数据库中的数据,甚至控制数据库服务器
- 用C语言实现哈夫曼编码:从原理到实现的详细解析
- py爱心代码高级粒子!!
- 爱心代码高级,拿去博得喜欢的人的欢心吧
- DZ-ID005-V1.0-20240911-原理图.zip
- 用C语言实现字符串去重功能
- java实现对ZKFBioFS200半导体指纹采集器对接
- NO.3学习样本,请参考第3章的内容配合学习使用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功