log4j的使用范围

Posted 运维社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了log4j的使用范围相关的知识,希望对你有一定的参考价值。

1.什么是log4j?

      Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地。


2. 支持发送的目标

控制台、文件、kafka、redis等

 

3.特点

  • 支持自定义名称

  • 支持同时配置多个日志模块

  • 支持自定义日志格式

  • 支持日志切分,按文件大小或者按日期切分。

  • 支持两种模式配置:properties和xml格式

  • 常用的就是控制台输出和文件输出两种

  • log4j配置是独立于代码之外的,如需修改日志参数不用改动代码,只需要修改log4j配置即可。

  • 支持多种log 等级:等级可分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF则不打出任何信息,如果配置为INFO这样只显示INFO、WARN、ERROR的log信息


4.支持使用的语言

  • JAVA

  • C

  • C++

  • .Net

  • PL/SQL


5.将log4j.jar包放到项目的lib目录下

如果使用maven项目,需要添加依赖。

<!-- 添加log4j依赖 --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency>

配置log4j文件


vim log4j.properties

### set log levels - for more verbose logging change 'info' to 'debug' ####设置日志级别info,开启控制台打印,文件打印两种方式log4j.rootLogger=info, stdout, file
### log messages to stdout ###log4j.appender.stdout=org.apache.log4j.ConsoleAppender #开启控制台打印log4j.appender.stdout.Target=System.out #target属性,把日志信息写到控制台,其效果等同于直接把信息打印到System.out上了log4j.appender.stdout.layout=org.apache.log4j.PatternLayout #使用灵活的输出方式,输出方式支持多种log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n #自定义输出格式
#以下是将日志输出到文件log4j.appender.file=org.apache.log4j.DailyRollingFileAppender log4j.appender.file.Append=true log4j.appender.file.Threshold=INFO log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.logger.com.spat.core=ERRORlog4j.logger.com=INFO


6.参数

%m 输出代码中指定的消息;%M 输出打印该条日志的方法名;%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL;%r 输出自应用启动到输出该log信息耗费的毫秒数;%c 输出所属的类目,通常就是所在类的全名;%t 输出产生该日志事件的线程名;%n 输出一个回车换行符,Windows平台为"rn”,Unix平台为"n”;%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS},输出类似:2002-10-18 22:10:28,921%l 输出日志事件的发生位置,及在代码中的行数;


百度百科:https://baike.baidu.com/item/log4j/480673?fr=aladdin

官网参考:http://logging.apache.org/log4j/1.2/faq.html#a1.2

将日志写到kafka参考:https://www.cnblogs.com/dreammyle/p/6598935.html

将日志写到redis参考:https://gitee.com/jun-miss/log4j-redis-appender



以上是关于log4j的使用范围的主要内容,如果未能解决你的问题,请参考以下文章

升级过log4j,却还没搞懂log4j漏洞的本质?

Log4j反序列化远程代码执行漏洞(CVE-2019-17571)

活动结果片段索引超出范围:0x20001

片段(Java) | 机试题+算法思路+考点+代码解析 2023

Wordpress - 将代码片段包含到布局的选定部分的插件

Cg入门19:Fragment shader - 片段级模型动态变色