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

此处需要额外设置配置文件属性值(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事件的线程名 */ ######### 特殊符号 ############ #有些特殊符号不能直接打印,需要使用实体名称或者编号 // & —— &amp; 或者 &#38; < —— &lt; 或者 &#60; > —— &gt; 或者 &#62; “ —— &quot; 或者 &#34; ‘ —— &apos; 或者 &#39; */ ######## 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

logging.config=classpath:log4j2-test-spring.xml

application-prod.properties

logging.config=classpath:log4j2-prod-spring.xml 整合logback

logback是由log4j创始人设计的又一个开源日志组件。同时也是SpringBoot默认记录日志的框架。

xml形式

由于默认就是使用logback,所以只需要配置一个logback-spring.xml文件在resources目录即可,会自动识别的。

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

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