`
huangyongxing310
  • 浏览: 498527 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

log4j2应用

 
阅读更多
https://blog.csdn.net/giventian/article/details/51075419

https://blog.csdn.net/weixin_42074152/article/details/91962875

https://blog.csdn.net/qq_34333537/article/details/89916834?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase



<?xml version="1.0" encoding="UTF-8"?>
<!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出 -->
<!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数 -->
<configuration monitorInterval="5">
	<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->

	<!--变量配置 -->
	<Properties>
		<!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符 -->
		<!-- %logger{36} 表示 Logger 名字最长36个字符 -->
		<property name="LOG_PATTERN" value=" [%-5p] : %m%n" />
		<!-- 定义日志存储的路径 -->
		<property name="FILE_PATH"
			value="D:/eclipseWorkSupermarketSysTest/supermarket/spring-boot-plus/logs" />
		<property name="FILE_NAME" value="spring-boot-plus" />
		<property name="INFO_MAX_FILE_SIZE" value="15Mb" />
		<property name="INFO_MAX_HISTORY" value="2" />
		<property name="ERROR_MAX_FILE_SIZE" value="10Mb" />
		<property name="ERROR_MAX_HISTORY" value="3" />
	</Properties>

	<appenders>
		<console name="Console" target="SYSTEM_OUT">
			<!--输出日志的格式 -->
			<PatternLayout pattern="${LOG_PATTERN}" />
			<!--控制台只输出level及其以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
			<ThresholdFilter level="info" onMatch="ACCEPT"
				onMismatch="DENY" />
		</console>

		<!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,适合临时测试用 -->
		<!-- <File name="Filelog" fileName="${FILE_PATH}/test.log" append="false"> 
			<PatternLayout pattern="${LOG_PATTERN}"/> </File> -->

		<!-- 这个会打印出所有的info及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档 -->
		<RollingFile name="RollingFileInfo"
			fileName="${FILE_PATH}/${FILE_NAME}-info.log"
			filePattern="${FILE_PATH}/${FILE_NAME}-info-%d{yyyy-MM-dd}.%i.log.gz">
			<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
			<ThresholdFilter level="info" onMatch="ACCEPT"
				onMismatch="DENY" />
			<PatternLayout pattern="${LOG_PATTERN}" />
			<Policies>
				<!--interval属性用来指定多久滚动一次,默认是1 hour -->
				<!-- <TimeBasedTriggeringPolicy interval="1"/> -->
				<SizeBasedTriggeringPolicy
					size="${INFO_MAX_FILE_SIZE}" />
			</Policies>
			<!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件开始覆盖 -->
			<DefaultRolloverStrategy
				max="${INFO_MAX_HISTORY}" />
		</RollingFile>

		<RollingFile name="RollingFileError"
			fileName="${FILE_PATH}/${FILE_NAME}-error.log"
			filePattern="${FILE_PATH}/${FILE_NAME}-error-%d{yyyy-MM-dd}.%i.log.gz">
			<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
			<ThresholdFilter level="ERROR" onMatch="ACCEPT"
				onMismatch="DENY" />
			<PatternLayout pattern="${LOG_PATTERN}" />
			<Policies>
				<!--interval属性用来指定多久滚动一次,默认是1 hour -->
				<!-- <TimeBasedTriggeringPolicy interval="1"/> -->
				<SizeBasedTriggeringPolicy
					size="${ERROR_MAX_FILE_SIZE}" />
			</Policies>
			<!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件开始覆盖 -->
			<DefaultRolloverStrategy
				max="${ERROR_MAX_HISTORY}" />
		</RollingFile>
	</appenders>

	<!--Logger节点用来单独指定日志的形式,比如要为指定包下的class指定不同的日志级别等。 -->
	<!--然后定义loggers,只有定义了logger并引入的appender,appender才会生效 -->
	<loggers>

		<!--过滤掉spring和mybatis的一些无用的DEBUG信息 -->
		<logger name="org.mybatis" level="info" additivity="false">
			<AppenderRef ref="Console" />
		</logger>
		<!--监控系统信息 -->
		<!--若是additivity设为false,则 子Logger 只会在自己的appender里输出,而不会在 父Logger 的appender里输出。 -->
		<Logger name="org.springframework" level="info"
			additivity="false">
			<AppenderRef ref="Console" />
		</Logger>

		<root level="info">
			<appender-ref ref="Console" />
			<!-- <appender-ref ref="Filelog"/> -->
			<appender-ref ref="RollingFileInfo" />
			<!-- <appender-ref ref="RollingFileWarn"/> -->
			<appender-ref ref="RollingFileError" />
		</root>
	</loggers>

</configuration>








logging:
  config: classpath:config/log4j2_dev.xml










分享到:
评论

相关推荐

    Log4j2简介及与Log4j效率对比

    9. **Layouts的广泛适用性**:Log4j2的Layouts不仅可以应用于使用`OutputStream`写入日志的Appender,还可以应用于所有类型的Appender。 10. **优化的并发支持**:Log4j2利用Java 5提供的并发特性,能够在较低级别...

    若依框架使用的log4j2.16.0,修复log4j漏洞log4j2下载最新log4j2.16.0下载

    Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中轻松地记录各种级别的日志信息,如DEBUG、INFO、WARN、ERROR等。在2021年底,一个重大的安全漏洞(CVE-2021-44228)被发现在Log4j2的早期版本中,...

    Log4j2、Fastjson、Log4j的BurpSuite插件亲测有效

    Log4j、Log4j2和Fastjson的安全性问题在过去曾引起广泛关注,例如Log4j2的CVE-2021-44228(也被称为Log4Shell漏洞),这是一个远程代码执行漏洞,影响了许多使用Log4j2的系统。这个插件可能就是为了检测和利用这些...

    SpringBoot框架配置log4j和log4j2的配置代码

    Log4j和Log4j2是两种广泛使用的Java日志框架,它们提供了灵活的日志配置和高性能的日志处理能力。本文将详细介绍如何在SpringBoot项目中配置Log4j和Log4j2。 ### SpringBoot与Log4j Log4j是Apache的一个开源项目,...

    log4j2所需jar包

    Log4j2是一款广泛使用的Java日志记录框架,它的核心在于提供高效、灵活的日志记录功能,便于开发者在应用程序中追踪错误、调试信息以及性能数据。这个压缩包包含的两个关键文件——`log4j-api-2.11.1.jar`和`log4j-...

    Apache Log4j2紧急缓解措施.docx

    在启动 Java 应用程序时,添加一个 JVM 参数 -Dlog4j2.formatMsgNoLookups=true,这将禁用 Log4j2 的消息查找功能,以避免攻击者通过 Log4j2 的漏洞来执行恶意代码。例如,原来的启动命令是: ``` java -jar xxx.jar...

    日志版本-log4j2版本jar

    Log4j2的核心改进在于其引入了全新的API——Log4j 1.2 API,文件`log4j-1.2-api-2.8.2.jar`就是这个API的实现,它使得旧的基于Log4j 1.2的应用程序可以无缝地迁移到Log4j 2。这个API保持了与1.x版本接口的兼容性,但...

    log4j2漏洞检测工具

    4. **修复漏洞**: 根据报告提供的指导,更新Log4j2到不受影响的版本,或者应用临时解决方案,如禁用JNDI查找功能。 5. **验证修复**: 再次运行检测工具,确保所有漏洞都已修复。 6. **持续监控**: 设置定期扫描,...

    扫描log4j2 版本扫描log4j2 版本

    1. **识别系统中的Log4j2实例**:首先,需要识别系统中所有使用Log4j2的组件和应用程序,包括内部开发的项目以及第三方库。 2. **版本确认**:然后,通过查看项目配置文件(如`log4j2.xml`或`log4j2.json`)或依赖...

    log4j2所需的jar

    这个压缩包“apache-log4j-2.13.2-bin”包含了Log4j2的核心组件,使得开发者可以在他们的应用程序中集成并使用Log4j2。以下是关于Log4j2的一些关键知识点: 1. **日志框架**:Log4j2是Apache软件基金会开发的日志...

    logging-log4j2-log4j-2.15.0-rc2.zip

    Log4j 2支持通过JMX或配置文件实时修改日志级别和配置,无需重启应用,大大提高了运维效率。 6. **可插拔架构**: 其插件架构允许开发者轻松扩展功能,如自定义Appender、Filter或Layout,满足个性化需求。 7. *...

    tomcat9 slf4j+log4j2 写日志.zip

    3. **配置Tomcat**:在`$CATALINA_HOME/lib`目录下添加`log4j-api.jar`和`log4j-slf4j-impl.jar`,这将使Tomcat使用Log4j2作为其内部的日志系统。 4. **排除其他日志实现**:确保你的应用中没有引入其他的日志实现...

    log4j2_detect_gui.zip

    《Log4j2检测工具——理解与应用》 在当今的软件开发中,日志记录是必不可少的一个环节,Log4j作为Java中最流行的日志框架之一,被广泛应用于各种项目中。然而,2021年曝光的Log4Shell漏洞(CVE-2021-44228)引发了...

    log4j2用户指南

    - **Web 应用环境**:Log4j2 支持在各种 Web 应用服务器上运行。 - **Servlet 容器集成**:可以与 Servlet 容器无缝集成。 - **JSP 日志记录**:支持在 JSP 页面中进行日志记录。 #### 7. 插件 Log4j2 支持广泛的...

    Java与log4j2整合mongoDB需要的jar包

    Log4j2是Apache的一个开源项目,它为Java应用程序提供了一种灵活的日志记录解决方案。相比早期的log4j,log4j2提供了更好的性能、更多的特性,例如异步日志记录、JSON支持以及可插拔的架构。 MongoDB则是一个NoSQL...

    spring-boot-starter-log4j2

    四、Log4j2配置详解 1. 日志级别:Log4j2支持TRACE、DEBUG、INFO、WARN、ERROR、FATAL和OFF七个级别。通过配置文件,可以设置全局日志级别,也可以针对特定类或包设置不同级别。 2. Appenders:Appender是日志输出...

    log4j2_rce 项目

    首先,Log4j2是Apache基金会开发的一个日志记录框架,广泛应用于Java应用程序中,用于记录运行时信息。然而,2021年,研究人员发现了一个严重的漏洞,被称为“Log4Shell”,它源于Log4j2中的JNDI(Java Naming and ...

    log4j2异步多线程打印

    **日志框架Log4j2简介** Log4j2是Apache组织开发的一个强大的日志处理框架,...通过理解和实践这个示例项目,开发者可以更好地掌握如何在实际应用中利用Log4j2的强大功能,优化日志处理,尤其是在高并发的复杂环境中。

    Apache Log4j2 远程代码执行漏洞检测工具

    2. 检查Linux服务器上的各种服务和应用程序,确定它们是否使用了易受攻击的Log4j2版本。 3. 在容器环境下,如Docker,也能有效地进行安全检查。 4. 可能支持自动化脚本,以便在多台服务器上批量执行检测。 使用这些...

    Log4j2异步写日志效率测试源码

    在实际应用中,我们还可以调整Log4j2的异步配置,例如设置队列大小、选择不同的Appender实现(如FileAppender、ConsoleAppender等)以及日志级别,以优化日志性能和存储需求。此外,Log4j2的AsyncAppender利用了LMAX...

Global site tag (gtag.js) - Google Analytics