你所遗漏的SpringBoot日志管理知识
Spring Boot对所有内部日志记录使用了Commons Logging,但是底层日志实现是开放的。可以为 Java Util日志、Log4J2和Logback。对于每种日志都预先配置为使用控制台输出和可选的文件输出。默认为Logback
日志配置
通过将相应的库添加到classpath可以激活各种日志系统,然后在classpath根目录下提供合适的配置文件可以进一步定制日志系统,配置文件也可以通过Spring Environment的logging.config属性指定。
以下文件会根据你选择的日志系统进行加载:
日志系统 | 定制配置 |
---|---|
Logback | logback-spring.xml,logback-spring.groovy,logback.xml或logback.groovy |
Log4j | log4j.properties或log4j.xml |
Log4j2 | log4j2-spring.xml或log4j2.xml |
JDK (Java Util Logging) | logging.properties |
注 如果可能的话,建议你使用-spring变种形式定义日志配置(例如,使用logback-spring.xml而不是logback.xml)。如果你使用标准的配置路径,Spring可能不能够完全控制日志初始化。
注 Java Util Logging从可执行jar运行时会导致一些已知的类加载问题,我们建议尽可能不使用它。
以下是从Spring Envrionment转换为System properties的一些有助于定制的配置属性:
Spring Environment | System Property | Comments |
---|---|---|
logging.exception-conversion-word | LOG_EXCEPTION_CONVERSION_WORD | 记录异常使用的关键字 |
logging.file | LOG_FILE | 如果指定就会在默认的日志配置中使用 |
logging.path | LOG_PATH | 如果指定就会在默认的日志配置中使用 |
logging.pattern.console | CONSOLE_LOG_PATTERN | 日志输出到控制台(stdout)时使用的模式(只支持默认的logback设置) |
logging.pattern.file | FILE_LOG_PATTERN | 日志输出到文件时使用的模式(如果LOG_FILE启用,只支持默认的logback设置) |
logging.pattern.level | LOG_LEVEL_PATTERN | 用来渲染日志级别的格式(默认%5p,只支持默认的logback设置) |
PID | PID | 当前的处理进程(process)ID(能够找到,且还没有用作OS环境变量) |
所有支持的日志系统在解析配置文件时都能获取系统属性的值,具体可以参考spring-boot.jar中的默认配置。
log4j2配置
一份史诗级配置
/home/logs/log/dev \ \ \ \
</Appenders> <Loggers> <Root level="debug"> <AppenderRef ref="Console"/> <AppenderRef ref="debug"/> <AppenderRef ref="info"/> <AppenderRef ref="warn"/> <AppenderRef ref="error"/> </Root> </Loggers>
-
各个文件输出到不同级别的目录
-
设置最大保存时间为15天
-
每个文件最大50M
tomcat的日志
在properties文件添加如下配置:
server.tomcat.basedir=/home/logs/log-api/tomcat-logs server.tomcat.accesslog.enabled=true server.tomcat.accesslog.pattern=%t %a "%r" %s %D (%D ms) server.use-forward-headers=true
lombok的神组合
使用lombok的@Slf4j 注解,省去配置声明log的繁琐,提高开发效率。
idea的 grep console组合
Grep Console 自定义设置控制台输出颜色,这样控制台就能比较明显的看到警告或者错误的信息,方便查找问题
本文来自云栖社区合作伙伴“开源中国”
本文作者:melon_jj
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
python 文件file操作(2)
文件的属性 所谓属性,就是能够通过一个文件对象得到的东西。 >>> f = open("m1.txt","a") >>> f.name 'm1.txt' >>> f.mode #显示当前文件打开的模式 'a' >>> f.closed #文件是否关闭,如果关闭,返回True;如果打开,返回False False >>> f.close() #关闭文件的内置函数 >>> f.closed True 文件的有关状态 >>> import os >>> file_stat = os.stat("m1.txt") #查看这个文件的状态 >>> file_stat #文件状态是这样的。从下面的内容,有不少从英文单词中可以猜测出来。 posix.stat_result(st_mode=33204, st_ino=5772566L, st_dev=2049L, st_nlink=1, st_uid=1000, st_gid=1000, st...
- 下一篇
10月25日云栖精选夜读 | 机器学习高质量数据集大合辑
在机器学习中,寻找数据集也是非常重要的一步。质量高或者相关性高的数据集对模型的训练是非常有帮助的。 那么用于机器学习的开放数据集有哪些呢?文摘菌给大家推荐一份高质量的数据集,这些数据集或者涵盖范围广泛(比如 Kaggle),或者非常细化(比如自动驾驶汽车的数据)。 热点热议 资源 | 机器学习高质量数据集大合辑 作者:技术小能手 发表在:磐创AI 阿里巴巴集团开源软件梳理 作者:技术小能手发表在:云栖学习小组 阿里云专家穆轩的《杭州九年程序员之“修炼”手册》 作者:技术小能手发表在:云栖人物志 知识整理 django rest jwt vue 跨域问题 作者:技术小能手发表在:开源中国 Spring 基于Java配置 作者:技术小能手发表在:Java杂记 实战|基于TensorFlow+Python的文本分类全程详解 作者:技术小能手发表在:数据分析 MySQL中的concat、concat_ws、group_concat、reapeat函数 作者:技术小能手发表在:开源中国 一文看懂 Redis5 搭建集群 作者:技术小能手发表在:开源中国 美文回顾 手把手 | 教你用几行Pytho...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路