学习MyBatis必知必会(3)~日志框架

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 学习MyBatis必知必会(3)~日志框架

一、日志框架

1、为什么要使用日志框架?

  • 比起打印System.out.println,日志框架可以把日志的输出和代码进行分离
  • 日志框架可以很方便地定义日志的输出环境:控制台/文件/数据库
  • 日志框架可以很方便地定义日志的输出格式和输出级别


2、常见的日志框架/组件:

  • 规范:Commons-logging、SLF4J

□ JDK-Logging:太简单,拓展性差,使用很少。

Commons-logging:Apache 提供的日志规范,不提供具体实现,会通过动态查找的机制找出真正日志的实现库。

SLF4J:制定了日志的规范,使用时得拷贝整合包。

□ Log4j:功能强大,可以把日志输出到控制台、文件中,是出现比较早且最受欢迎日志组件。

□ Log4j2:是 Log4j 的升级,基本上把 Log4j 版本的核心全部重构。

□ Logback:由 Log4j 创始人设计的另一个开源日志组件,也是作为 Log4j 的替代者出现的。性能比log4j高,官方是建议和SLF4j一起使用, Logback、slf4j、Log4j 都是出自同一个人,所以默认对 SLF4J 无缝结合。


3、日志级别 ERROR > WARN > INFO > DEBUG > TRACE

  • 日志级别越低,内容越详细
  • 日志文件的内容主体:rootLogger、logger、appender
    □ rootLogger-设置全局的信息【默认输出级别和输出风格】
    □ logger-设置自定义的信息【输出级别和输出风格】
    □ appender-设置日志输出位置(控制台、文件)


4、编写一个l 日志文件[log4j.properties]【输入中文,若出现乱码,设置一下.properties文件的编码方式为utf-8】

✿ 记得拷贝jar包:log4j-1.2.17.jar

✿ log4j.properties文件内容:
# 全局日志设置【输出级别-error、控制台】
log4j.rootLogger=ERROR, stdout
# 自定义日志设置【自自定义某个包/某个类(log4j.logger后边接上包的全限定名/类的全限定名)输出级别】
log4j.logger.com.shan.hello=TRACE
# 输出到控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t]  - %m%n


✿ 在mybatis全局配置文件[mybatis-config.xml文件] 进行配置一下日志信息:
<configuration>
  <settings>
    <setting name="logImpl" value="LOG4J"/>
    ...
  </settings>
</configuration>
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
6天前
|
Kubernetes API Docker
跟着iLogtail学习容器运行时与K8s下日志采集方案
iLogtail 作为开源可观测数据采集器,对 Kubernetes 环境下日志采集有着非常好的支持,本文跟随 iLogtail 的脚步,了解容器运行时与 K8s 下日志数据采集原理。
|
9天前
|
Java 关系型数据库 数据库连接
mybatis-plus学习
MyBatis-Plus ,MyBatis 最佳搭档,只做增强不做改变,为简化开发、提高效率而生。
25 5
|
9天前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
|
21天前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
2月前
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
24天前
|
运维 NoSQL Java
SpringBoot接入轻量级分布式日志框架GrayLog技术分享
在当今的软件开发环境中,日志管理扮演着至关重要的角色,尤其是在微服务架构下,分布式日志的统一收集、分析和展示成为了开发者和运维人员必须面对的问题。GrayLog作为一个轻量级的分布式日志框架,以其简洁、高效和易部署的特性,逐渐受到广大开发者的青睐。本文将详细介绍如何在SpringBoot项目中接入GrayLog,以实现日志的集中管理和分析。
100 1
|
2月前
|
SQL Java 关系型数据库
SpringBoot 系列之 MyBatis输出SQL日志
这篇文章介绍了如何在SpringBoot项目中通过MyBatis配置输出SQL日志,具体方法是在`application.yml`或`application.properties`中设置MyBatis的日志实现为`org.apache.ibatis.logging.stdout.StdOutImpl`来直接在控制台打印SQL日志。
SpringBoot 系列之 MyBatis输出SQL日志
|
2月前
|
人工智能 Java Spring
Spring框架下,如何让你的日志管理像‘AI’一样智能,提升开发效率的秘密武器!
【8月更文挑战第31天】日志管理在软件开发中至关重要,不仅能帮助开发者追踪问题和调试程序,还是系统监控和运维的重要工具。在Spring框架下,通过合理配置Logback等日志框架,可大幅提升日志管理效率。本文将介绍如何引入日志框架、配置日志级别、在代码中使用Logger,以及利用ELK等工具进行日志聚合和分析,帮助你构建高效、可靠的日志管理系统,为开发和运维提供支持。
36 0
|
2月前
|
SQL Java 数据库连接
【Java 第十三篇章】MyBatis 框架介绍
MyBatis 原名 iBATIS,2001 年由 Clinton Begin 创建,以其简易灵活著称。2010 年更名以重塑品牌形象。MyBatis 通过 SQL 映射文件将 SQL 语句与 Java 代码分离,支持编写原生 SQL 并与方法映射。具备对象关系映射功能,简化数据库记录处理。支持动态 SQL 构建,灵活应对不同查询条件。内置缓存机制,提升查询效率。相比全功能 ORM,MyBatis 提供更高 SQL 控制度和更好的维护性,并易于与 Spring 等框架集成,广泛应用于 Java 数据访问层。
17 0
|
2月前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
下一篇
无影云桌面