此处需要额外设置配置文件属性值(logging.config),本地测试时,就目录rolling会生成文件,但里面是空的。加上后就正常了:
logging.config=classpath:log4j2.properties题外话:设置完,对properties配置规则还是不太了解。。感觉怎么配好像都可以输出,还望有网友能分享下具体的配置规则。对比完,还是觉得xml格式比较直观也容易理解。
其他格式按官网说明,还可以以json和yml格式进行配合,但需要加入相应依赖。
格式 依赖包 文件名YAML com.fasterxml.jackson.core:jackson-databind、com.fasterxml.jackson.dataformat:jackson-dataformat-yaml log4j2.yaml、log4j2.yml
JSON com.fasterxml.jackson.core:jackson-databind log4j2.json、log4j2.jsn
按需要添加相应依赖包即可。这里就不细说了。
格式化符号说明对于格式化输出时,会看见有不同的格式化符号,起初看了也是一头雾水,下面搜索相关资料后进行简单整理归纳下。
题外话:SpringBoot默认的log4j2配置文件在:spring-boot-1.5.15.RELEASE.jar/org/springframework/boot/logging/log4j2/log4j2.xml。
具体官网有说明:
######### 常见参数 ######### // %c{参数} 或 %logger{参数} ##输出日志名称 %C{参数} 或 %class{参数 ##输出类型 %d{参数}{时区te{参数}{时区} ##输出时间,如:%d{yyyy-MM-dd HH:mm:ss, SSS} %F|%file ##输出文件名 highlight{pattern}{style} ##高亮显示 %l ##输出错误的完整位置 %L ##输出错误行号 %m 或 %msg 或 %message ##输出错误信息 %M 或 %method ##输出方法名 %n ##输出换行符 %level{参数1}{参数2}{参数3} ##输出日志的级别 %t 或 %thread ##创建logging事件的线程名 */ ######### 特殊符号 ############ #有些特殊符号不能直接打印,需要使用实体名称或者编号 // & —— & 或者 & < —— < 或者 < > —— > 或者 > “ —— " 或者 " ‘ —— ' 或者 ' */ ######## pattern对齐修饰 ########## // 对齐修饰,可以指定信息的输出格式,如是否左对齐,是否留空格等。 ## 编写格式为在任何pattern和%之间加入一个小数,可以是正数,也可以是负数。 ## 整数表示右对齐,负数表示左对齐; ## 整数位表示输出信息的最小n个字符,如果输出信息不够n个字符,将用空格补齐; ## 小数位表示输出信息的最大字符数,如果超过n个字符,则只保留最后n个字符的信息 ## (注意:保留的是后20个字符,而不是前20个字符) */ #示例如下 // %20 —— 右对齐,不足20个字符则在信息前面用空格补足,超过20个字符则保留原信息 %-20 —— 左对齐,不足20个字符则在信息后面用空格补足,超过20个字符则保留原信息 %.30 —— 如果信息超过30个字符,则只保留最后30个字符 %20.30 —— 右对齐,不足20个字符则在信息前面用空格补足,超过30个字符则只保留最后30个字符 %-20.30 —— 左对齐,不足20个字符则在信息后面用空格补足,超过30个字符则只保留最后30个字符 多环境配置可直接通过多环境配置文件,设置logging.config的值,如
application-test.properties
application-prod.properties
logging.config=classpath:log4j2-prod-spring.xml 整合logbacklogback是由log4j创始人设计的又一个开源日志组件。同时也是SpringBoot默认记录日志的框架。
xml形式由于默认就是使用logback,所以只需要配置一个logback-spring.xml文件在resources目录即可,会自动识别的。