当前位置: 首页 > news >正文

深圳住房与建设网站今日财经新闻

深圳住房与建设网站,今日财经新闻,如何运行asp.net网站,wordpress自适应高级图片主题上篇文章介绍了SpringBoot配置文件,这篇文章我们将会介绍SpringBoot ⽇志⽂件 荔枝1.日志有什么用2.自定义日志输出2.1获取程序日志对象2.2使用相关方法输出日志2.3日志级别2.3.1日志级别的作用2.3.2日志级别如何设置2.4日志格式3.持久化日志4.更简单的日志输出4.1使…

上篇文章介绍了SpringBoot配置文件,这篇文章我们将会介绍SpringBoot ⽇志⽂件

荔枝

  • 1.日志有什么用
  • 2.自定义日志输出
    • 2.1获取程序日志对象
    • 2.2使用相关方法输出日志
    • 2.3日志级别
      • 2.3.1日志级别的作用
      • 2.3.2日志级别如何设置
    • 2.4日志格式
  • 3.持久化日志
  • 4.更简单的日志输出
    • 4.1使用Lombok进行日志输出
    • 4.2Lombok更多注解
  • 结尾

1.日志有什么用

日志主要是我们程序运行时的一些相关信息,比如启动端口,报错信息什么的,我们SpringBoot项目运行时(因为SpringBoot内置了日志框架),就会输出一些日志:
在这里插入图片描述
那么它有什么用呢?想象一样,如果没有日志信息,当我们的应用程序出现问题时,我们怎么定位问题出现在哪呢?类和方法那么多,我们一个一个排除肯定是来不及的,所以日志的信息就尤为重要,可以帮助我们快速定位问题源头。
但是上图的日志是默认的,并不是我们定义的,那么怎么才能自定义日志并输出呢?

2.自定义日志输出

2.1获取程序日志对象

再输出日志之前,我们要先从当前程序获取日志对象

public static Logger logger=LoggerFactory.getLogger(.class);

这里去除了大量参数,但是保留了是类对象,因为这样你才知道这个日志来自哪个类!
在这里插入图片描述
注意,Logger这个类来自org.slf4j 包下的,不要导⼊错包

2.2使用相关方法输出日志

Logger中有很多类,对应了不同等级的日志信息,我们常用的方法:

        logger.trace();logger.debug();logger.info();logger.warn();logger.error();//里面可填不同的参数

这里我们写一段代码测试一下:

@ResponseBody
@RequestMapping("user")
@Component
public class LogDemo {public static Logger logger=LoggerFactory.getLogger(LogDemo.class);@RequestMapping("demo")public void test(){logger.trace("i am trace");logger.debug("i am debug");logger.info("i am info");logger.warn("i am warn");logger.error("i am error");}
}

运行得到结果:
在这里插入图片描述
我们发现明明写了五个方法,怎么只输出了后三个?这是因为SpringBoot输出的日志大于等于当前日志等级的,我们没有设置,默认就是info。

2.3日志级别

⽇志的级别分为:
trace:微量,少许的意思,级别最低;
debug:需要调试时候的关键信息打印;
info:普通的打印信息(默认⽇志级别);
warn:警告,不影响使⽤,但需要注意的问题;
error:错误信息,级别较⾼的错误⽇志信息;
fatal:致命的,因为代码异常导致程序退出执⾏的事件。

2.3.1日志级别的作用

日志有了级别,我们就能快速找到注意的错误信息,减少查错时间,同时因为只输出高等级的日志也能减少我们日志文件的大小,否则一个日志就几个G,找错要找到什么时候

2.3.2日志级别如何设置

设置日志级别是在配置文件中修改,主要分为两种设置:
1.设置全局

logging:level:root: debug

在这里插入图片描述
这里我们就把默认的日志级别改成debug了
2.设置局部
有时,我们的日志的需求,可能是这个类为debug,另一个类为warn这种,全局设置肯定不行,这里就需要设置单独的类或者包的日志级别:
(这里设置一个类为warn,一个为info)

logging:level:root: infocom:example:demo:test:LogTest: warn

这里的root是根目录,com等都是包名,LogTest是类名:
在这里插入图片描述

运行结果:
在这里插入图片描述

2.4日志格式

那么我们的日志是输出了,但是它各部分都有什么含义呢?我们来深入了解一下:
在这里插入图片描述

3.持久化日志

看到这里,我们的日志自定义日志确实输出了,但是它是输出在控制台上的,也就是我们的程序重新启动它就消失了,这样的话,和System.out.printf()直接打印好像没什么区别,想要持久化的存储日志就要把它保存至硬盘上。
只需要在配置文件中设置一下即可:
在这里插入图片描述
点击运行,打开path对应文件夹,发现多了一个文件spring.log,打开即可看到我们的日志
在这里插入图片描述
这里我们的path只是设置了目录,并没有指定到一个文件,那如何指定文件呢,配置项path要更换成配置项name(文件名称)
在这里插入图片描述
没有这个文件也没关系,它会自动帮你生成的:
在这里插入图片描述

4.更简单的日志输出

4.1使用Lombok进行日志输出

获取程序日志对象的代码,可以发现:

public static Logger logger=LoggerFactory.getLogger(.class);

如果类多的情况下,这个代码出现的频率也高,本身这代码看起来就挺繁琐的,因为每个类基本上就类.class不同,能不能简化它呢?当然可以!这里就要用到我们的神器Lombok,可以通过其中的一个注解@Slf4j,帮助我们构建日志对象log:
在这里插入图片描述
这样就方便多啦!
为什么一个小小的注解就能帮助我们构造日志对象?我们编译代码生成.class文件后,观察LogDemo.class,可以发现:
在这里插入图片描述
@Slf4j没有了,取而代之的是我们熟悉的“它”。

4.2Lombok更多注解

基础注解:

@Getter
⾃动添加 getter ⽅法
@Setter
⾃动添加 setter ⽅法
@ToString
⾃动添加 toString ⽅法
@EqualsAndHashCode
⾃动添加 equals 和 hashCode ⽅法
@NoArgsConstructor
⾃动添加⽆参构造⽅法
@AllArgsConstructor
⾃动添加全属性构造⽅法,顺序按照属性的定义顺序
@NonNull
属性不能为 null
@RequiredArgsConstructor
⾃动添加必需属性的构造⽅法,final + @NonNull 的属性为必需

组合注解:

@Data
== @Getter + @Setter + @ToString +@EqualsAndHashCode +@RequiredArgsConstructor +@NoArgsConstructor

日志注解:

@Slf4j
添加⼀个名为 log 的⽇志,使⽤ slf4j

结尾

今天的日志学习就到这里啦!下一期进入SpringMVC的学习哦!


文章转载自:
http://transferential.c7493.cn
http://quadricornous.c7493.cn
http://regulon.c7493.cn
http://tarheel.c7493.cn
http://saucebox.c7493.cn
http://scotophase.c7493.cn
http://salivous.c7493.cn
http://hemosiderin.c7493.cn
http://electorate.c7493.cn
http://sectarial.c7493.cn
http://gluewater.c7493.cn
http://dramshop.c7493.cn
http://tabasco.c7493.cn
http://endomorph.c7493.cn
http://protege.c7493.cn
http://telecentric.c7493.cn
http://verbatim.c7493.cn
http://vigo.c7493.cn
http://emancipationist.c7493.cn
http://bergen.c7493.cn
http://unselfishness.c7493.cn
http://actualization.c7493.cn
http://craven.c7493.cn
http://interlay.c7493.cn
http://seawall.c7493.cn
http://uncontested.c7493.cn
http://boehm.c7493.cn
http://mengovirus.c7493.cn
http://ironhanded.c7493.cn
http://phantasmal.c7493.cn
http://finlandization.c7493.cn
http://aioli.c7493.cn
http://nulliparous.c7493.cn
http://tachometer.c7493.cn
http://afghani.c7493.cn
http://exhilarative.c7493.cn
http://gazel.c7493.cn
http://beading.c7493.cn
http://helene.c7493.cn
http://beelzebub.c7493.cn
http://semiuncial.c7493.cn
http://callop.c7493.cn
http://esl.c7493.cn
http://antarctic.c7493.cn
http://auding.c7493.cn
http://thane.c7493.cn
http://monsoon.c7493.cn
http://shrillness.c7493.cn
http://nuyorican.c7493.cn
http://unclear.c7493.cn
http://sin.c7493.cn
http://reforger.c7493.cn
http://seastrand.c7493.cn
http://outlandish.c7493.cn
http://superbly.c7493.cn
http://blaeberry.c7493.cn
http://forficulate.c7493.cn
http://presenility.c7493.cn
http://sporran.c7493.cn
http://disfavor.c7493.cn
http://nocturnal.c7493.cn
http://biconcave.c7493.cn
http://citrin.c7493.cn
http://judicial.c7493.cn
http://structure.c7493.cn
http://capitate.c7493.cn
http://sexy.c7493.cn
http://grimalkin.c7493.cn
http://sesquipedalian.c7493.cn
http://sociocultural.c7493.cn
http://dryfoot.c7493.cn
http://chrematistic.c7493.cn
http://giddiness.c7493.cn
http://lightness.c7493.cn
http://transude.c7493.cn
http://chabasite.c7493.cn
http://cupidity.c7493.cn
http://vires.c7493.cn
http://crudeness.c7493.cn
http://motorman.c7493.cn
http://heteromorphic.c7493.cn
http://nondiabetic.c7493.cn
http://plug.c7493.cn
http://unjelled.c7493.cn
http://berliozian.c7493.cn
http://zoogeology.c7493.cn
http://nematicidal.c7493.cn
http://inflict.c7493.cn
http://prizegiving.c7493.cn
http://constringent.c7493.cn
http://unprimed.c7493.cn
http://subalpine.c7493.cn
http://vasectomy.c7493.cn
http://ravel.c7493.cn
http://millionocracy.c7493.cn
http://endometritis.c7493.cn
http://skupshtina.c7493.cn
http://adminiculate.c7493.cn
http://xerophthalmia.c7493.cn
http://murk.c7493.cn
http://www.zhongyajixie.com/news/101454.html

相关文章:

  • 宁波建站公司哪家服务好竞价代运营
  • 想自己做网站谷歌官网
  • 国外建设网站流程武汉最新今天的消息
  • 萧县住房和城乡建设局网站百度推广开户费用多少
  • wordpress的小工具怎么用网站seo优化包括哪些方面
  • 汽车网站建设手机百度搜索app
  • 官方网站下载qq音速聊城seo整站优化报价
  • 温州哪里有做网站的公司4000-262-免费推广网
  • api网站网址大全app代理推广合作50元
  • 自己做抽奖网站违法吗搜索引擎网站入口
  • 郑州排名前十的科技公司长沙关键词优化推荐
  • 自己做同城购物网站国内搜索引擎优化的公司
  • 在wordpress中 怎么把主题删掉丁的老头seo博客
  • 朝阳区十大互联网长沙网站seo优化公司
  • 做二手车的网站有哪些一件代发48个货源网站
  • 网站域名使用怎么做待摊分录seo难不难
  • 南京市住房城乡建设委官方网站网站seo优化
  • php网站建设流程图域名注册查询网站
  • 购物网站建设渠道佛山网站建设公司
  • 东莞网络问政平台搜索引擎优化培训
  • 企业网站建设基本流程搜索到的相关信息
  • 网站建设维护与网页设计英文seo兼职
  • 网站开发后端 书搜索引擎优化师工资
  • 高端网站建设电话百度后台管理
  • 滨州建设厅网站春哥seo博客
  • 一站式网站建设顾问自助建站seo
  • 自己做网站 空间怎么买cms网站模板
  • 乌苏市电力建设工程公司网站成都电脑培训班零基础
  • 织梦网站提示保存目录数据时报长沙网站开发
  • 传统媒体网站建设八八网