log4j配置文件

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="off">
	<Properties>
		<!-- 日志存储路径 -->
		<Property name="baseDir">./logs</Property>
	</Properties>
	<CustomLevels>
		<CustomLevel name="AUDIT" intLevel="50" />
	</CustomLevels>
	
	<Appenders>
		<Console name="console" target="SYSTEM_OUT">
			<PatternLayout charset="UTF-8" pattern="[%-5p] [%d{HH:mm:ss}] %c - %m%n" />
		</Console>
		
		<!-- 自定义 -->
		<RollingFile name="RollingFileAUDIT" 
				fileName="${baseDir}/logservice-web/audit-log/audit-log.log" filePattern="${baseDir}/logservice-web/audit-log/audit-log-%i.log">
			<ThresholdFilter level="AUDIT" onMatch="ACCEPT" onMismatch="DENY" />
			<PatternLayout pattern="[%d{yyyy/MM/dd HH:mm:ssS}][%p][LOGSERVICE][日志系统]%m%n" />
			<Policies>
				<SizeBasedTriggeringPolicy size="10 MB" />
			</Policies>
			<!-- 保存最大文件个数 -->
			<DefaultRolloverStrategy max="50" />
		</RollingFile>
		
		<!--Trace级别日志输出-->
		<RollingFile name="system-trace"
				fileName="${baseDir}/logservice-web/trace.log" filePattern="${baseDir}/logservice-web/trace-%i.log">
			<Filters>
                <ThresholdFilter level="debug" onMatch="DENY" onMismatch="NEUTRAL"/>  
                <ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY" />
            </Filters>
			<PatternLayout charset="UTF-8" pattern="[%d{yyyy/MM/dd HH:mm:ssSSS}][%p][LOGSERVICE][日志系统][%l]%n%m%n" />
			<Policies>
				<!-- 日志文件大小 -->
				<SizeBasedTriggeringPolicy size="10 MB" />
			</Policies>
			<!-- 保存最大文件个数 -->
			<DefaultRolloverStrategy max="50" />
		</RollingFile>
		<!--Info级别日志输出-->
		<RollingFile name="system-info"
				fileName="${baseDir}/logservice-web/info.log" 
				filePattern="${baseDir}/logservice-web/info-%i.log">
			<Filters>
                <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>  
                <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY" />
            </Filters>
			<PatternLayout charset="UTF-8" pattern="[%d{yyyy/MM/dd HH:mm:ssSSS}][%p][LOGSERVICE][日志系统][%l]%n%m%n" />
			<Policies>
				<SizeBasedTriggeringPolicy size="10 MB" />
			</Policies>
			<DefaultRolloverStrategy max="50" />
		</RollingFile>
		<!--Debug级别日志输出-->
		<RollingFile name="system-debug"
				fileName="${baseDir}/logservice-web/debug.log" filePattern="${baseDir}/logservice-web/debug-%i.log">
			<Filters>
                <ThresholdFilter level="info" onMatch="DENY" onMismatch="NEUTRAL"/>  
                <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY" />
            </Filters>
			<PatternLayout charset="UTF-8" pattern="[%d{yyyy/MM/dd HH:mm:ssSSS}][%p][LOGSERVICE][日志系统][%l]%n%m%n" />
			<Policies>
				<SizeBasedTriggeringPolicy size="10 MB" />
			</Policies>
			<DefaultRolloverStrategy max="50" />
		</RollingFile>
		<!--Error级别日志输出-->
		<RollingFile name="system-error"
				fileName="${baseDir}/logservice-web/error.log" filePattern="${baseDir}/logservice-web/error-%i.log">
			<Filters>
				<ThresholdFilter level="AUDIT" onMatch="DENY" onMismatch="NEUTRAL" />
                <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY" />
            </Filters>
			<PatternLayout charset="UTF-8" pattern="[%d{yyyy/MM/dd HH:mm:ssSSS}][%p][LOGSERVICE][日志系统][%l]%n%m%n" />
			<Policies>
				<SizeBasedTriggeringPolicy size="10 MB" />
			</Policies>
			<DefaultRolloverStrategy max="50" />
		</RollingFile>
	</Appenders>
<Loggers>
		<logger name="io.netty" level="INFO"></logger>
		<logger name="org.springframework" level="INFO"></logger>
		<logger name="org.elasticsearch" level="INFO"></logger>
		<root level="INFO">
			<appender-ref ref="console" />
			<appender-ref ref="system-info" />
			<appender-ref ref="system-trace" />
			<appender-ref ref="system-debug" />
			<appender-ref ref="system-error" />
			<appender-ref ref="RollingFileAUDIT" />
		</root>
	</Loggers>
</configuration>


相关推荐
深维AI随笔3 天前
《构建之法》| 第二章个人技术和流程:单元测试不是“可选“,而是“必需“
单元测试·log4j·apache
七牛开发者7 天前
为什么 Go 很适合 AI 辅助开发?
数据库·人工智能·python·elasticsearch·log4j
IT机器猫8 天前
RabbitMQ基础二
java·spring boot·分布式·spring cloud·log4j·rabbitmq·springamqp
看浪的路人11 天前
第6讲:单元测试自动生成
python·ai·log4j
jufeng130715 天前
【系列:MiniKV 原理剖析 · 第 8 篇(完结篇)】
linux·c++·log4j·软件工程·makefile
冷咖啡离 我的笨笨19 天前
HttpContext.Current并非无处不在
log4j
5系暗夜孤魂z23 天前
优雅的.net REST API之FastEndpoints
log4j·.net
名字还没想好☜23 天前
Go 表驱动测试实战:用 t.Run 子测试组织可维护的单元测试
golang·单元测试·log4j·go·testing
老白干24 天前
jjwt 0.9.1 在 JDK 11+ 上的两个“坑”与完整解决方案
java·python·log4j
森叶25 天前
用 DataTransfer 模拟“用户选择本地文件“:不用系统对话框,也能给 `<input type=“file“>` 塞进真实文件
java·开发语言·log4j