SpringBoot 源码解析——SpringBoot 中的日志基础服务.docxVIP

SpringBoot 源码解析——SpringBoot 中的日志基础服务.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SpringBoot 源码解析——SpringBoot 中的日志基础服务 原创zhisheng 2021-07-19 收录于话题 #SpringBoot 源码解析 8个内容 点击上方 关注,?星标或置顶一起成长 免费送 1024GB 精品学习资源? 背景 在看 spring-boot module 的时候,看到有一个特地的 logging 的 package,由于日志是平常接触的格外多的一个东西,不只仅是应用本身的日志需要关怀,假如是要去做一个统一的日志收集和管理系统,也是一件很费心思的事情,比如: 可能要考虑日志打印的格式是什么样子的; 采集日志的时候怎样能够一行一行的采集; 对于那种堆栈特别日志如何采集收集在一起; 日志文件满了后消灭滚动到新文件后如何识别并采集新的日志文件; 假如应用在消灭特别的情况下疯狂的打印日志,那么采集能否连续,连续的话,采集工具会不会消灭功能瓶颈; 日志传输过程中如何应对海量的日志数据; 对于不同应用打印出来的不同日志格式,如何做日志的 ETL; 该选择什么数据存储引擎来存储海量的日志数据; 如何处理海量日志数据写入存储引擎很慢的问题; 对于海量的日志数据存储保留的时间如何选择; 对于日志数据,如何对外供应搜索的功能; 日志数据如何呈现才会更友好; 上面的多个问题都是本人工作和项目经受遇到和处理过的问题,本人亲身很有体会和感悟,所以觉得还是有必要认真的看看日志这块的内容。 日志的作用 供应项目应用运转的具体信息,例如方法的入参、运转的特别记录等。在 LogFile 类中定义的两个属性分别是: file:表示日志文件的名称,依靠 ?系统环境参数指定 path:表示日志文件存储的路径,依靠 logging.file.path?系统环境参数指定 日志级别 在 LogLevel 枚举类中定义了下面几种级别:TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF。 在 LoggerConfiguration 类中定义类日志的名字、配置的日志级别以及生效的日志级别。 在 LoggingSystem、LoggingSystemProperties 和 AbstractLoggingSystem 分别定义了日志系统的常见类型(Java Log/log4j/log4j2/logback),猎取对应的日志类型,包含了定义它的一些系统属性 以及如何依据定义的类型去通过类加载的方式使用该种(Java log/log4j/logback)去打印日志。 在 DeferredLog 类实现了 Log 接口,里面封装了常见我们打印日志的一些方法 _ 日志品种 首先这里列出了三种: 下面分别来讲解一下这几种的区分。 Java Log 对应 JavaLoggingSystem 类,该类承继自 AbstractLoggingSystem 笼统类。 在该类中做了类的初始化之前的一些预备工作、加载日志上下文,加载配置文件,然后进行设置日志级别。 在该类中引用的 Level、LogManager、Logger 都是 java.util.logging? 包下的。 真正打印 format 的是靠着 SimpleFormatter,比如假如使用这种日志打印的话,那么你要引入的配置文件就是 perties,它的内容或许可能如下: SimpleFormatter 格式如下: 在 SpringBoot 中定义的日志级别名称和 Java 中的有点不全都,它们之间的对应关系如下图所示: Log4j2 Log4J2LoggingSystem 承继自 Slf4JLoggingSystem,它里面的日志级别名称和 SprinBoot 的是全都的。在该类中找的日志文件有下面这些: 比如 log4j2.xml 文件: 对于把握台的不同级别的日志显示不同的颜色,这里还特地有一个 ColorConverter 类进行转换: Logback LogbackLoggingSystem 该类也是承继自 Slf4JLoggingSystem,次要是由于 SLF4J (Simple Logging Facade For Java) 它是一个针对于各类 Java 日志框架的统一 Facade 笼统。SLF4J 定义了统一的日志笼统接口,而真正的日志实现则是在运转时打算。 对应的日志级别名称如下: 通常读取的配置文件是 logback.xml,该文件的定义如下: 包含了 base.xml,其内容如下: 其中又包含了上面几个文件,这些文件的内容都在 spring-boot module 的 resource 名目下:

文档评论(0)

bob157641554 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档