SpringBoot | 第二十三章:日志管理之整合篇 (2)

我觉得这个配置步骤就是:先配置appenders,按需求进行个性化配置,如按天记录等等,然后可以使用logger个性化配置一些包的level日志等级,最后配置下root的appender。

properties文件形式

从官网文档获悉,从2.4版本后才提供了通过配置文件的支持,这使用时要注意。详细使用语法可查看官网:,这里以官网的例子简单说明下:

# log4j2内部自身的日志级别 status = error # 配置日志信息输出到哪里:err表示作为标准错误输出,还可以是一个文件路径或者一个URL dest = err # 配置名称 name = PropertiesConfig # 自定义属性名称,以便在之后的配置中使用,如${filename} property.filename = target/rolling/rollingtest.log # 级别过滤(过滤日志记录) filter.threshold.type = ThresholdFilter # 只记录debug级别以上的日志,大小写都可以 filter.threshold.level = debug # 控制台类型的日志输出源 appender.console.type = Console # 名称 :唯一 appender.console.name = STDOUT # 布局类型 appender.console.layout.type = PatternLayout # 输出模板格式 这是springboot appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} -%5p ${PID:-} [%15.15t] %C{1.} [%t]: %m%n # 过滤级别 ThresholdFilter:低于级别的不输出 appender.console.filter.threshold.type = ThresholdFilter # 记录日志的级别 appender.console.filter.threshold.level = info # 滚动文件,会根据配置如文件大小或者时间自动生成一个新文件 appender.rolling.type = RollingFile appender.rolling.name = RollingFile # 日志文件名称 appender.rolling.fileName = ${filename} # 日志回滚的文件命名规则 appender.rolling.filePattern = target/rolling2/test1-%d{MM-dd-yyyy}-%i.log.gz appender.rolling.layout.type = PatternLayout # 输出格式 appender.rolling.layout.pattern = %d %p %C{1.} [%t] %m%n # 滚动日志的策略,即设置何时新建日志文件输出日志 appender.rolling.policies.type = Policies # 设置时间 appender.rolling.policies.time.type = TimeBasedTriggeringPolicy # 指定多久滚动一次 单位跟着filePattern配置精度最后一位 ,这里就是2秒了 appender.rolling.policies.time.interval = 2 appender.rolling.policies.time.modulate = true # 日志文件的大小 appender.rolling.policies.size.type = SizeBasedTriggeringPolicy # 为了测试设置小一点 appender.rolling.policies.size.size=1kb ## 还有其他的触发条件如:CronTriggeringPolicy 按Cron表达式进行的 具体使用可自行搜索 # 指定同一个文件夹下最多有几个日志文件时开始删除最旧的,创建新的 appender.rolling.strategy.type = DefaultRolloverStrategy # 最多5个文件,其实还是看filePattern的i的值,当大于5后,就会自动覆盖了 appender.rolling.strategy.max = 5 rootLogger.level = info rootLogger.appenderRef.stdout.ref = STDOUT

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxjgx.html