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简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
514 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
19天前
|
XML Java 数据格式
Spring容器Bean之XML配置方式
通过对以上内容的掌握,开发人员可以灵活地使用Spring的XML配置方式来管理应用程序的Bean,提高代码的模块化和可维护性。
56 6
|
29天前
|
SQL
南大通用GBase 8a配置gcware日志等级,减少日志输出,节省磁盘IO
南大通用GBase 8a配置gcware日志等级,减少日志输出,节省磁盘IO
|
1月前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
48 5
|
4月前
|
XML Java 数据格式
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
Spring 第二节内容补充 关于Bean配置的更多内容和细节 万字详解!
300 18
|
4月前
|
XML Java 应用服务中间件
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
通过一个HelloWorld实例,介绍了SpringMVC的基本概念、执行流程,并详细讲解了如何创建和配置第一个SpringMVC项目(基于XML)。
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
|
3月前
|
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(一)
209 5
|
3月前
|
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(二)
183 4
|
3月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
104 4
|
3月前
|
网络协议 Linux Windows
Rsyslog配置不同端口收集不同设备日志
Rsyslog配置不同端口收集不同设备日志