09月22日, 2014 147次
1.导入jar
跳羚默认是用日志记录的日志框架的,所以需要排除日志记录,不然会出现冲突依赖冲突的报错。 groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId 排除!-去掉跳羚默认配置- groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-log/artifactId 依赖性!-引入log4j2依赖- groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-log4j 2/artifactId /依赖性
2.配置文件1 .如果自定义了文件名,需要在application.yml中配置 2.默认名log4j2-spring.xml,就省下了在application.yml中配置 在applicaiton.yaml中添加配置 #日志文件 config :类路径:日志4g 2。可扩展置标语言 com。阿里巴巴。nacos。客户。配置。impl :警告 cn。杰。恢复tor : tr
ace
file:
#${file.name} 后期可以改成${spring.application.name}
path: /log/${file.name}
file:
name: dome
在config中配置log4g2.xml文件
?xml version= 1.0 encoding= UTF-8 ? !-- status= OFF ,可以去掉,它的含义为是否记录log4j2本身的event信息,默认是OFF -- configuration status= off monitorInterval= 60 !-- properties -- !-- property name= projectName -- !-- riiot-- !-- /property -- !-- /properties -- appenders !-- 开发环境用 -- Console name= debug_console target= SYSTEM_OUT PatternLayout pattern= [%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p] [%traceId] [%t] {%c}-%m%n / Filters ThresholdFilter level= DEBUG / ThresholdFilter level= INFO onMatch= DENY onMismatch= NEUTRAL / /Filters /Console Console name= console target= SYSTEM_OUT PatternLayout pattern= [%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p] [%traceId] [%t] {%c}-%m%n / Filters ThresholdFilter level= info / /Filters /Console !-- 输出日志到文件 每天一个文件(ERROR-FATAL级别) -- RollingRandomAccessFile name= AppErrorDailyRollingFile fileName= ${sys:LOG_PATH}/AppError.log append= true bufferedIO= false bufferSize= 256 filePattern= ${sys:LOG_PATH}/AppError.log.%d{yyyy-MM-dd}.log PatternLayout pattern= [%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p] [%traceId] [%t] {%c}-%m%n / Filters ThresholdFilter level= ERROR / /Filters Policies TimeBasedTriggeringPolicy modulate= true interval= 1 / /Policies /RollingRandomAccessFile !-- 输出日志到文件 每天一个文件(WARN级别) -- RollingRandomAccessFile name= AppWarnDailyRollingFile fileName= ${sys:LOG_PATH}/AppWarn.log append= true bufferedIO= true bufferSize= 10240 immediateFlush= false filePattern= ${sys:LOG_PATH}/AppWarn.log.%d{yyyy-MM-dd}.log PatternLayout pattern= [%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p] [%traceId] [%t] {%c}-%m%n / Filters ThresholdFilter level= WARN / ThresholdFilter level= ERROR onMatch= DENY onMismatch= NEUTRAL / /Filters Policies TimeBasedTriggeringPolicy modulate= true interval= 1 / /Policies /RollingRandomAccessFile !-- 输出日志到文件 每天一个文件(INFO级别) -- RollingRandomAccessFile name= AppInfoDailyRollingFile fileName= ${sys:LOG_PATH}/AppAccess.log append= true bufferedIO= true bufferSize= 409600 immediateFlush= false filePattern= ${sys:LOG_PATH}/AppAccess.log.%d{yyyy-MM-dd}.log PatternLayout pattern= [%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p] [%traceId] [%t] {%c}-%m%n / Filters ThresholdFilter level= INFO / ThresholdFilter level= WARN onMatch= DENY onMismatch= NEUTRAL / /Filters Policies TimeBasedTriggeringPolicy modulate= true interval= 1 / /Policies /RollingRandomAccessFile !-- 输出日志到文件 每天一个文件(INFO级别) -- RollingRandomAccessFile name= DBAccessDailyRollingFile fileName= ${sys:LOG_PATH}/DBAccess.log append= true bufferedIO= true bufferSize= 409600 immediateFlush= false filePattern= ${sys:LOG_PATH}/DBAccess.log.%d{yyyy-MM-dd}.log PatternLayout pattern= [%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p] [%traceId] [%t] {%c}-%m%n / Filters ThresholdFilter level= INFO / ThresholdFilter level= WARN onMatch= DENY onMismatch= NEUTRAL / /Filters Policies TimeBasedTriggeringPolicy modulate= true interval= 1 / /Policies /RollingRandomAccessFile !-- 输出日志到文件 每天一个文件(ERROR级别) -- RollingRandomAccessFile name= DBErrorDailyRollingFile fileName= ${sys:LOG_PATH}/DBError.log append= true bufferedIO= false bufferSize= 256 filePattern= ${sys:LOG_PATH}/DBError.log.%d{yyyy-MM-dd}.log PatternLayout pattern= [%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p] [%traceId] [%t] {%c}-%m%n / Filters ThresholdFilter level= WARN / /Filters Policies TimeBasedTriggeringPolicy modulate= true interval= 1 / /Policies /RollingRandomAccessFile !-- 输出日志到文件 每天一个文件(ERROR级别) -- RollingRandomAccessFile name= SysErrorDailyRollingFile fileName= ${sys:LOG_PATH}/SysError.log append= true bufferedIO= false filePattern= ${sys:LOG_PATH}/SysError.log.%d{yyyy-MM-dd}.log PatternLayout pattern= [%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p] [%traceId] [%t] {%c}-%m%n / Filters ThresholdFilter level= WARN / /Filters Policies TimeBasedTriggeringPolicy modulate= true interval= 1 / /Policies /RollingRandomAccessFile !-- 启动日志 -- RollingRandomAccessFile name= BootLog fileName= ${sys:LOG_PATH}/Boot.log append= false bufferedIO= false filePattern= ${sys:LOG_PATH}/Boot.log.%d{yyyy-MM-dd}.log PatternLayout pattern= [%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p] [%traceId] [%t] {%c}-%m%n / Filters ThresholdFilter level= INFO / /Filters Policies TimeBasedTriggeringPolicy modulate= true interval= 1 / /Policies /RollingRandomAccessFile !-- Kafka name= SyncKafka topic= logs syncSend= false PatternLayout pattern= [%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p] [%traceId] [riiot] [${jar.name}] [%X{ip}] [dev] [%t] {%c}-%m / Property name= bootstrap.servers 192.168.1.49:9092 /Property Property name= acks 0 /Property Property name= compression.type gzip /Property Property name= max.block.ms 10000 /Property Filters ThresholdFilter level= INFO / /Filters /Kafka ! ndash; 异步发送kafka ndash; Async name= Kafka bufferSize= 512 blocking= false AppenderRef ref= SyncKafka / /Async Kafka name= KafkaErrLog topic= errLogTopic syncSend= false PatternLayout pattern= [%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p] [%traceId] [riiot] [${jar.name}] [%X{ip}] [dev] [%t] {%c}-%m / Property name= bootstrap.servers 192.168.1.49:9092 /Property Property name= acks 0 /Property Property name= compression.type gzip /Property Filters ThresholdFilter level= ERROR / /Filters /Kafka ! ndash; 异步发送kafka ndash; Async name= AsyncKafkaErrLog bufferSize= 512 blocking= false AppenderRef ref= KafkaErrLog / /Async /appenders loggers !-- 只把包名是com.cmsr的日志输出到文件 -- logger name= com.cmsr additivity= false level= debug appender-ref ref= AppErrorDailyRollingFile / appender-ref ref= AppWarnDailyRollingFile / appender-ref ref= AppInfoDailyRollingFile / appender-ref ref= console / appender-ref ref= debug_console / /logger !-- 只把包名是com.cmsr.sicp.common.mybatis(DB正常执行,异常分别写到不同的log文件)的日志输出到文件 -- logger name= com.cmsr.sicp.common.mybatis additivity= false level= debug appender-ref ref= DBAccessDailyRollingFile / appender-ref ref= DBErrorDailyRollingFile / appender-ref ref= console / /logger !-- 过滤springframework输出,提高启动速度 (生产环境中需要整体删除)-- logger name= org.springframework additivity= false level= warn appender-ref ref= console / /logger !-- 启动日志单独输出 -- logger name= com.cmsr.Launcher additivity= false level= info appender-ref ref= BootLog / appender-ref ref= console / /logger !-- 定义全局。其他包的日志只输出到控制台,不输出到日志文件 -- root level= error appender-ref ref= SysErrorDailyRollingFile / appender-ref ref= console / /root /loggers /configuration
感谢你能够认真阅读完这篇文章,希望小编分享的“springboot中如何整合log4g2”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!