Loger 的使用|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习 Loger 的使用

开发者学堂课程【SpringBoot 实战教程 Loger 的使用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/651/detail/10783


Loger 的使用


内容介绍:

一、loger 的使用有两种方式

二、举例


一、loger 的使用有两种方式

loger的使用有两种方式一个是<logger name= "com. qianfeng. controller"/>

第一种只指定了包名控制这个 controller 包下所有日志类的打印默认情况下和上一级的日志是相同的就是 rootroot 指定的日志级别是 info所以这个包下所有的类会打印 info 及 info 级别以上的日志信息没有指定 additivity,它会把日志信息向上级进行传递也就是传递给root日志信息显示在控制台还是显示在文件里没有指明loger 不会打印任何日志信息但是它会把日志信息传递给上一级 root而 root 有两个 appender一个是 file一个是 console传递给上级之后上级就会使用 console 的 appender在控制台打印 info 以及 info 级别以上的信息这是这种配置的含义


二、举例

1、在 controller 下写一个 controller 命名为 testcontroller加注解写一个功能在类中显示日志首先使用定义好的 logger用 loggerfactory.getlogger 当前类注意包要用 org.slf4j当在某个功能里面想记录日志信息时用 logger它里面对应每一个级别和相应级别名称相同的方法比如显示 debug 级别info 级别warn 级别error 级别

@Controller

public class TestController {

private Logger logger = LoggerFactory . getLogger (this.getClass() }

@RequestMapping ("/ show")

@ResponseBody

public String show ()

{

logger . debug ("debug日志") ;

logger .info("info日志") ;

logger . warn ("warn日志") ;

logger .error ("error日志") ;

return "show" ;

}

2、Testcontroller 在这个包下面完全符合<logger name= "com. qianfeng. controller"/> 配置文件所以 info 级别以及 info 级别以上的日志信息会传递给上一级上一级可以向控制台或者向文件里输出日志而上一级默认使用的是控制台把上一级接收到的信息info 级别以及 info 级别以上的进行打印注意是上一级进行打印启动输入localhost:8080/show

image.png

在控制台上可以看到 infowarnerror 三个级别的日志因为 debug 是在 info 级别以下的上一级指定的是 info 级别所以只能是等于或者高于这个级别的信息才能打印debug 级别的日志是不能显示的其他级别是在控制台显示这就是 loger 的第一种配置方式

3、第二种它指定了包名和类名它会控制 com. qianfeng. controller 包下的 SpringController 类的日志的打印打印 warn 级别以及 warn 级别以上的日志信息additivity 设置为 false 说明它不用再向上级传递日志信息因为它自己会进行处理把日志信息打印到控制台引用 console引用的是上一级的 appender 的 console用 consoleappender 实现打印这是 loger 第二种使用方式的意思指定级别指定了不同传递指定日志向哪打印必须是 SpringController 类中

<!--additivity 是否向上级 loger 传递打印信息-->

<logger name= "com. qianfeng. controller. SpringController" level= "WARN" additivity "

<appender - ref ref= "console"/>

</ logger>

4、在 SpringController 类中显示日志拷贝显示 warn 以及 warn 级别以上的只显示 warn 和 error 两种信息debug 和 info 不会显示要把 logger 加上

/ / @ResponseBody

public String ok ()

{

logger . debug ( "debug日志") ;

logger. info("info日志") ;

logger .warn("warn日志") ;

logger .error ("error日志") ;

return"ok" ;

}

5、启动Controller 功能访问路径叫 OK输入localhost:8080/ok

image.png

7、控制台打印了 warn 和 error 两个级别符合配置文件中的配置比 warn 级别高的只有 error 级别所以输出的是这两个类型的日志第二种不需要向上一级传递所有的信息都自己配置但是都是借助于上一级的 appender 实现的日志信息的显示这就是 loger 的两种使用方式

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
开发者 索引
matchAllQuery | 学习笔记
快速学习 matchAllQuery
matchAllQuery | 学习笔记
|
NoSQL MongoDB 开发者
故障测试_1|学习笔记
快速学习故障测试_1
故障测试_1|学习笔记
|
开发工具
超详细的vimtutor学习笔记(上)
第一讲 编辑 1.1 移动光标 使用 h、j、k、l 键可以使光标实现左、下、上、右的移动。 也可以使用 ↑ ↓ ← → 进行上下左右的移动。
124 0
|
JSON 分布式计算 Hadoop
boolQuery | 学习笔记
快速学习 boolQuery
boolQuery | 学习笔记
|
负载均衡 开发者 索引
replicas | 学习笔记
快速学习 replicas
replicas | 学习笔记
|
存储 Java 开发者
BinaryTree|学习笔记
快速学习BinaryTree
BinaryTree|学习笔记
|
机器学习/深度学习 算法 数据挖掘
总结与回顾 | 学习笔记
快速学习总结与回顾
|
运维 监控 JavaScript
什么是 ChatOps | 学习笔记
快速学习什么是 ChatOps
554 0
|
机器学习/深度学习 算法 数据处理
总结与练习|学习笔记
快速学习总结与练习。