log4j2.xml配置详细遇到坑

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: log4j2.xml配置详细遇到坑
<?xmlversion="1.0"encoding="UTF-8"?><Configurationstatus="off"monitorInterval="1800"><properties><propertyname="LOG_HOME">/opt/apache-tomcat-9.0.6/logs</property><!--<propertyname="LOG_HOME">/Users/lhq/apache-tomcat-9.0.6/logs</property>--><propertyname="FILE_NAME">mylog</property></properties><Appenders><Consolename="Console"target="SYSTEM_OUT"><PatternLayoutpattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/></Console><!--<Filename="File"fileName="${LOG_HOME}/${FILE_NAME}.log">--><!--<PatternLayout>--><!--<Pattern>%date{yyyy-MM-ddHH:mm:ss.SSS} %level [%thread][%file:%line] -%msg%n</Pattern>--><!--</PatternLayout>--><!--</File>--><!--注意File和RollingFile不能同时存在,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档--><RollingFilename="RollingFileInfo"fileName="${LOG_HOME}/${FILE_NAME}.log"filePattern="${LOG_HOME}/${FILE_NAME}-%d{MM-dd-yyyy}-%i.log"><!--控制台只输出info及以上级别的信息(onMatch),其他的直接拒绝(onMismatch),根据这个可以特殊定制化--><!--<ThresholdFilterlevel="info"onMatch="ACCEPT"onMismatch="DENY"/>--><PatternLayout><Pattern>%date{yyyy-MM-ddHH:mm:ss.SSS} %level [%thread][%file:%line] -%msg%n</Pattern><!--定义日志模板,输出的格式--></PatternLayout><Policies><!--按天进行分割日志--><TimeBasedTriggeringPolicy/><!--按文件占用空间进行分割日志--><SizeBasedTriggeringPolicysize="20MB"/></Policies><!--当日文件数量不能超过100个,超过100个会被覆盖--><DefaultRolloverStrategymax="100"><DeletebasePath="${LOG_HOME}"maxDepth="1"><IfFileNameglob="*/${FILE_NAME}-%d{MM-dd-yyyy}-%i.log"/><!--保留30天以内日志文件--><IfLastModifiedage="30d"/></Delete></DefaultRolloverStrategy></RollingFile></Appenders><Loggers><Loggername="com.hsaudio"level="DEBUG"additivity="true"><AppenderRefref="Console"/></Logger><Rootlevel="error"><AppenderRefref="RollingFileInfo"level="ERROR"/></Root></Loggers></Configuration> 


这里遇到一个坑,Unable to invoke factory method in class class org.apache.logging.log4j.core.appender.RollingFileAppender for element RollingFile.

Appenders中File和RollingFile节点不同同时存在,否者初始化日志工程时报错。

集成需要的maven,这个集成spring mvc

<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!--依赖版本--><spring.version>4.3.7.RELEASE</spring.version><log4j2.version>2.8.2</log4j2.version><slf4j.version>1.7.25</slf4j.version><mybatis-spring.version>1.3.1</mybatis-spring.version><fastjson.version>1.2.31</fastjson.version></properties><dependencies><!--日志begin--><!--slf4jconfigstart--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>jcl-over-slf4j</artifactId><version>${slf4j.version}</version></dependency><!--slf4jconfigend--><!--桥接:告诉Slf4j使用Log4j2--><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId><version>${log4j2.version}</version><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId></exclusion></exclusions></dependency><!--桥接:告诉commonslogging使用Log4j2--><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-jcl</artifactId><version>${log4j2.version}</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>${log4j2.version}</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>${log4j2.version}</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-web</artifactId><version>${log4j2.version}</version></dependency><!--日志end--></dependencies>

最近log4j2漏洞吵得沸沸扬扬,建议各位把版本包升级到最新

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
66 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
2月前
|
XML Java 数据格式
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
Spring 第二节内容补充 关于Bean配置的更多内容和细节 万字详解!
193 18
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
|
2月前
|
XML Java 应用服务中间件
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
通过一个HelloWorld实例,介绍了SpringMVC的基本概念、执行流程,并详细讲解了如何创建和配置第一个SpringMVC项目(基于XML)。
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
|
1月前
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
131 5
|
1月前
|
XML 资源调度 网络协议
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
68 4
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
65 4
|
1月前
|
网络协议 Linux Windows
Rsyslog配置不同端口收集不同设备日志
Rsyslog配置不同端口收集不同设备日志
|
1月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
34 1
|
1月前
|
数据采集 监控 Java
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
本文是关于SpringBoot日志的详细教程,涵盖日志的定义、用途、SLF4J框架的使用、日志级别、持久化、文件分割及格式配置等内容。
87 0
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
|
27天前
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
75 0