rt-cloud.smart-cloud-starter-log4j2.1.0.6.source-code.log4j2.xml Maven / Gradle / Ivy
The newest version!
<?xml version="1.0" encoding="UTF-8"?> <!-- status: 这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,会看到log4j2内部各种详细输出 monitorInterval: Log4j能够自动检测修改配置文件和重新配置本身, 设置间隔秒数。 packages:以逗号隔开的包名列表,用于搜索插件,比如自定义filter、appender等。插件仅会加载一次,所以要想修改后生效必须重启项目 --> <Configuration status="WARN" monitorInterval="600" packages="io.github.smart.cloud.starter.log4j2.plugin"> <!-- 变量配置 --> <Properties> <Property name="app_name">${cctx:appName}</Property> <Property name="log_path">${cctx:logPath}</Property> <!-- %level 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL %m 输出代码中指定的消息 %n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n” %thread 输出产生该日志事件的线程名 %line 代码调用位置 %method 执行的方法 sleuth相关参数: TraceId为此次调用链共享id;SpanId本应用唯一id;ParentSpanId为上级应用唯一id;X-Span-Export是否是发送给Zipkin --> <Property name="log_format">[%-5level][%date{MM-dd HH:mm:ss.SSS}][%X{traceId}|%X{spanId}][%thread] (%F:%line)[%method] -> %mm%n</Property> </Properties> <Appenders> <Console name="console" target="SYSTEM_OUT"> <PatternLayout pattern="${log_format}" /> </Console> <RollingRandomAccessFile immediateFlush="false" name="local_disk_file" fileName="${log_path}/${app_name}.log" filePattern="${log_path}/${app_name}.%d{yyyy-MM-dd-HH}.log.gz"> <PatternLayout pattern="${log_format}" /> <Policies> <!-- 如果启用此配置,则日志会按文件名生成新压缩文件, 即如果filePattern配置的日期格式为 %d{yyyy-MM-dd HH} ,则每小时生成一个压缩文件, 如果filePattern配置的日期格式为 %d{yyyy-MM-dd} ,则每天生成一个压缩文件 --> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <!-- 每个日志文件最大512MB --> <SizeBasedTriggeringPolicy size="512 MB" /> </Policies> </RollingRandomAccessFile> <RollingRandomAccessFile immediateFlush="false" name="elk_file" fileName="${log_path}/elk/${app_name}.log" filePattern="${log_path}/elk/${app_name}.%d{yyyy-MM-dd-HH}.log.gz"> <!--参考http://logging.apache.org/log4j/2.x/manual/json-template-layout.html--> <JsonTemplateLayout eventTemplateUri="classpath:log4j2Template.json" charset="UTF-8"/> <Policies> <!-- 如果启用此配置,则日志会按文件名生成新压缩文件, 即如果filePattern配置的日期格式为 %d{yyyy-MM-dd HH} ,则每小时生成一个压缩文件, 如果filePattern配置的日期格式为 %d{yyyy-MM-dd} ,则每天生成一个压缩文件 --> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <!-- 每个日志文件最大10MB --> <SizeBasedTriggeringPolicy size="512 MB" /> </Policies> </RollingRandomAccessFile> <Async name="async_consle" includeLocation="true"> <AppenderRef ref="console"/> <LinkedTransferQueue/> </Async> <Async name="async_local_disk_file" includeLocation="true"> <AppenderRef ref="local_disk_file"/> <LinkedTransferQueue/> </Async> <Async name="async_elk_file" includeLocation="true"> <AppenderRef ref="elk_file"/> <LinkedTransferQueue/> </Async> </Appenders> <Loggers> <!--可在配置中心通过“logging.level.root”属性覆盖日志级别--> <Root level="info"> <AppenderRef ref="async_consle" /> <AppenderRef ref="async_local_disk_file" /> <AppenderRef ref="async_elk_file" /> </Root> </Loggers> </Configuration>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy