springboot中如何整合log4g2

这篇文章主要介绍了跳羚中如何整合log4g2,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

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中添加配置 springboot中如何整合log4g2 第1张 #日志文件 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”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!