当前位置:网站首页>log4j中appender的简介说明
log4j中appender的简介说明
2022-07-30 10:29:00 【qq_25073223】
转自:
下文笔者将讲述log4j中的appender的简介说明,如下所示:
log4j的appender的功能
log4j中appender的功能:
用于定义输出文件的方式
有以下5种输出方式可定义
1.org.apache.log4j.RollingFileAppender(滚动文件,自动记录最新日志)
2.org.apache.log4j.ConsoleAppender (控制台)
3.org.apache.log4j.FileAppender (文件)
4.org.apache.log4j.DailyRollingFileAppender (每天产生一个日志文件)
5.org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方)
appender常见子节点说明
1.Console节点用来定义输出到控制台的Appender
name:Console的属性,指定Appender的名字 target:Console的属性,SYSTEM_OUT 或 SYSTEM_ERR,一般只设置默认:SYSTEM_OUT PatternLayout:Console的子节点,输出格式,不设置默认为:%m%n
File节点用来定义输出到指定位置的文件的Appender
name:File的属性,指定Appender的名字 fileName:File的属性,指定输出日志的目的文件带全路径的文件名 PatternLayout:File的子节点,输出格式,不设置默认为:%m%n
RollingFile节点用来定义超过指定大小自动删除旧的创建新的的Appender
name:RollingFilede的属性,指定Appender的名字 fileName:RollingFilede的属性,指定输出日志的目的文件带全路径的文件名 filePattern:RollingFilede的属性,指定新建日志文件的名称格式 PatternLayout:RollingFilede的子节点,输出格式,不设置默认为:%m%n DefaultRolloverStrategy:RollingFilede的子节点,用来指定同一个文件夹下最多有几个日志文件时开始删除最旧的,创建新的(通过max属性) Policies:RollingFilede的子节点,指定滚动日志的策略,就是什么时候进行新建日志文件输出日志 TimeBasedTriggeringPolicy:Policies子节点,基于时间的滚动策略,interval属性用来指定多久滚动一次,默认是1hour。 modulate=true用来调整时间:比如现在是早上3am,interval是4,那么第一次滚动是在4am,接着是8am,12am...而不是7am. SizeBasedTriggeringPolicy:Policies子节点,基于指定文件大小的滚动策略,size属性用来定义每个日志文件的大小 Filters:RollingFilede的子节点,决定日志事件能否被输出。过滤条件有三个值:ACCEPT(接受), DENY(拒绝) or NEUTRAL(中立)(后面具体讲) ACCEP和DENY比较好理解就是接受和拒绝的意思,在使用单个过滤器的时候,一般就是使用这两个值。但是在组合过滤器中,如果用接受ACCEPT的话,日志信息就会直接写入日志文件,后续的过滤器不再进行过滤。所以,在组合过滤器中,接受使用NEUTRAL(中立),被第一个过滤器接受的日志信息,会继续用后面的过滤器进行过滤,只有符合所有过滤器条件的日志信息,才会被最终写入日志文件
appender日志格式
%c 输出所属类的全名,可在修改为 %d{Num} ,Num类名输出的维(如:"org.apache.elathen.ClassName",%C{2}将输出elathen.ClassName)
%d 输出日志时间其格式为 %d{yyyy-MM-dd HH:mm:ss,SSS},可指定格式 如 %d{HH:mm:ss}
%l 输出日志事件发生位置,包括类目名、发生线程,在代码中的行数
%n 换行符
%m 输出代码指定信息,如info(“message”),输出message
%p 输出优先级,即 FATAL ,ERROR 等
%r 输出从启动到显示该log信息所耗费的毫秒数
%t 输出产生该日志事件的线程名边栏推荐
- kubernetes的一些命令
- OC - Manual Reference Counting Memory Management
- 【 HMS core 】 【 Analytics Kit] [FAQ] how to solve the payment amount in huawei pay analysis shows zero problem?
- Pytorch中 nn.Transformer的使用详解与Transformer的黑盒讲解
- MySQL installation tutorial [installation version]
- 电压跟随器不要随便加
- Selected System Design | Design of CAN Bus Controller Based on FPGA (with Code)
- OC-ARC (Automatic Reference Counting) automatic reference counting
- 【HMS core】【FAQ】HMS Toolkit典型问题合集1
- 图像去噪——Neighbor2Neighbor: Self-Supervised Denoising from Single Noisy Images
猜你喜欢

Security思想项目总结

Flask's routing (app.route) detailed

梅科尔工作室-看鸿蒙设备开发实战笔记五——驱动子系统开发

Redis Desktop Manager 2022.4.2 发布

Re15: Read the paper LEVEN: A Large-Scale Chinese Legal Event Detection Dataset

Telerik2022 R2,有效的自动化测试

typescript入门之helloworld

PyQt5 - draw sine curve with pixels

New in GNOME: Warn users when Secure Boot is disabled

Verilog之数码管译码
随机推荐
神经网络学习笔记3——LSTM长短期记忆网络
这种叫什么手法
软考 系统架构设计师 简明教程 | 系统运行与软件维护
Meikle Studio - see the actual combat notes of Hongmeng equipment development five - drive subsystem development
WEB3之路(一)-- solidity学习笔记
Flink_CDC construction and simple use
Paper reading: SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers
WebAPI 复习
MFCC to audio, the effect should not be too funny >V
BERT pre-training model series summary
系统设计精选 | 基于FPGA的CAN总线控制器的设计(附代码)
BERT预训练模型系列总结
Pytorch中 nn.Transformer的使用详解与Transformer的黑盒讲解
idea2021+Activiti [the most complete note one (basic use)]
The configuration process and related syntax of writing markdown format notes in vscode
TestNg整合Retry代码
【云原生】-Docker安装部署分布式数据库 OceanBase
Meikle Studio-Look at Hongmeng Device Development Practical Notes 7-Network Application Development
(BUG record) No module named PIL
MySQL installation tutorial [installation version]