热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

SpringBoot整合logback一个简单的日志集成架构

今天小编就为大家分享一篇关于SpringBoot整合logback一个简单的日志集成架构,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

一、业务需求

在项目开发和运维过程中需要通过日志来分析问题,解决问题以保证项目的正常运行。通过SpringBoot自带的日志管理相对比较简单,已无法满足日常的运维需求,需要对日志文件进行分时分类管理,刚好通过学习接触到了logback日志系统。因此便决定将其加入到项目框架之中。

二、logback简介

至于简介,可自行网上查阅相关文档文献,这里不做详细描述,毕竟不是本文主要目的。只需理解它很好的实现了slf4j,是log4j的再发展即可。

三、具体实施方案(仅供参考)

1、引入依赖包

其实不需要引入任何依赖,Spring Boot 都为我们做好了(不得不感叹技术的强大与发展之快,不管是好是坏,可以很好的提高开发效率)。

2、配置文件

特别说明:这里logback.xml不是在默认的 src/main/resources 目录下因此需要在application.properties里配置路径,由于项目是通过Spring Cloud Config管理的配置文件,但是配置内容都一样,只需在配置文件中加入以下配置即可:

logging.cOnfig=classpath:log/logback.xml

2.1 属性文件

\src\main\resources\log\logback.properties

说明:定义日志输出位置、文件大小、保存时间和日志级别。

此文件也可通过Spring Cloud Config管理,这里不做详细说明了,解题思路可以参看《Servlet+MyBatis项目转Spring Cloud微服务,多数据源配置修改建议》https://www.jb51.net/article/154043.htm

logback.path=.
logback.maxFileSize=50MB
logback.maxHistory=30
logback.level=INFO

2.2 xml文件

\src\main\resources\log\logback.xml

说明:可看文件中注释,根据需求做相应调整。

<&#63;xml version="1.0" encoding="UTF-8"&#63;>





  
  
  
    
    
      info
    
    
      
      %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level [%logger{50}] - %msg%n
      
      UTF-8
    
  
  
  
  
    
    ${logback.path}/log_${logback.level}.log
    
    
      %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level [%logger{50}] - %msg%n
      UTF-8 
    
    
    
      
      ${logback.path}/${logback.level}/log-${logback.level}-%d{yyyy-MM-dd}.%i.log
      
        ${logback.maxFileSize}
      
      
      ${logback.maxHistory}
    
    
    
      ${logback.level}
      ACCEPT
      DENY
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
  

通过以上步骤即可完成logback日志系统的简单集成,可以做到分时分文件大小以及备份保留时间等日志的输出管理。

如果想需要调试输出一些日志信息,只需在相应的类中加入类代码即可:

private static final Logger log = LoggerFactory.getLogger(ClassName.class);
// 需要输出的日志位置
log.info("日志信息");
log.error("日志信息");
……

四、小结

以上只是对日志系统的简单应用,这其中的妙处可能还没有完全体会,把实施过程记录于此,希望抛砖引玉为大家提供一条解题思路。

有不到之处请大家前来指正,把技术死磕到底!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接


推荐阅读
  • 华为云openEuler环境下的Web应用部署实践
    本文详细记录了在华为云openEuler系统上进行Web应用部署的具体步骤,包括配置yum源、安装Apache、MariaDB、PHP及其相关组件,并完成WordPress的安装与配置过程。 ... [详细]
  • 详解MyBatis二级缓存的启用与配置
    本文深入探讨了MyBatis二级缓存的启用方法及其配置细节,通过具体的代码实例进行说明,有助于开发者更好地理解和应用这一特性,提升应用程序的性能。 ... [详细]
  • SpringBoot底层注解用法及原理
    2.1、组件添加1、Configuration基本使用Full模式与Lite模式示例最佳实战配置类组件之间无依赖关系用Lite模式加速容器启动过程,减少判断配置类组 ... [详细]
  • 本文探讨了在SharePoint环境中使用BDC(Business Data Catalog)时遇到的问题及其解决策略,包括XML文件导入SSP后的不可见性问题以及与远程SQL Server 2005连接的难题。 ... [详细]
  • 本文详细介绍了如何在本地环境中安装配置Frida及其服务器组件,以及如何通过Frida进行基本的应用程序动态分析,包括获取应用版本和加载的类信息。 ... [详细]
  • 本作业探讨了矩阵链乘法的问题,包括问题定义、解析过程、算法设计思路及性能分析。通过将矩阵链分解为多个子问题,旨在找到最小化基本运算次数的方法。 ... [详细]
  • 本文介绍了一道来自LeetCode的编程题——拼写单词。题目要求从给定的词汇表中找出可以由指定字母表中的字母拼写出的单词,并计算这些单词的总长度。文章将展示如何通过使用数组替代哈希表来提高算法的执行效率。 ... [详细]
  • CSS模块化命名 ... [详细]
  • 解决宝塔面板Nginx反向代理缓存问题
    本文介绍如何在宝塔控制面板中通过编辑Nginx配置文件来解决反向代理中的缓存问题,确保每次请求都能从服务器获取最新的数据。 ... [详细]
  • 本文介绍了两个重要的Node.js库——cache-content-type和mime-types,它们在处理HTTP响应头时非常有用。cache-content-type是基于mime-types构建的,并且实现了缓存机制以提高性能。 ... [详细]
  • CentOS 7 实验记录:解决磁盘故障案例分析
    本文详细记录了一次在 CentOS 7 系统上遇到的磁盘故障处理过程,主要探讨了因额外磁盘缺失但 fstab 文件中仍保留其挂载配置而导致的问题,并提供了具体的解决方案。 ... [详细]
  • 本文转载自某知名技术博客,作者对市场上一些低质量电脑进行了深入分析,指出这些设备存在的问题及其可能带来的影响。 ... [详细]
  • 本文详细介绍了如何使用 Python 编程语言中的 Scapy 库执行 DNS 欺骗攻击,包括必要的软件安装、攻击流程及代码示例。 ... [详细]
  • 子网掩码主要用于区分IP地址中的网络部分和主机部分,它是网络配置中不可或缺的一部分,需要与IP地址配合使用。 ... [详细]
  • 解决远程桌面连接时的身份验证错误问题
    本文介绍了如何解决在尝试远程访问服务器时遇到的身份验证错误,特别是当系统提示‘要求的函数不受支持’时的具体解决步骤。通过调整Windows注册表设置,您可以轻松解决这一常见问题。 ... [详细]
author-avatar
wugege36
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有