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

学校网站建设方案图片郑州关键词排名公司电话

学校网站建设方案图片,郑州关键词排名公司电话,瑞安网站建设公司,网易企业邮箱登录入口网页版文章目录SpringBoot日志文件1. 日志有什么用2. 日志怎么用3. 自定义日志打印3.1 在程序中得到日志对象3.2 使用日志对象打印日志4. 日志级别4.1 日志级别有什么用?4.2 日志级别的分类与使用5. 日志持久化6. 更简单的日志输出--lombok6.1 添加 lombok 依赖6.2 输出日…

文章目录

  • SpringBoot日志文件
    • 1. 日志有什么用
    • 2. 日志怎么用
    • 3. 自定义日志打印
      • 3.1 在程序中得到日志对象
      • 3.2 使用日志对象打印日志
    • 4. 日志级别
      • 4.1 日志级别有什么用?
      • 4.2 日志级别的分类与使用
    • 5. 日志持久化
    • 6. 更简单的日志输出--lombok
      • 6.1 添加 lombok 依赖
      • 6.2 输出日志
      • 6.3 lombok原理解释
      • 6.4 lombok更多注解说明
    • 7. 总结

SpringBoot日志文件

1. 日志有什么用

日志是程序的重要组成部分,想象一下,如果程序报错了,不让你打开控制台看日志,那么你能找到报错的原因吗。

日志对于我们来说,最主要的用途就是排除和定位问题。除了发现和定位问题之外,我们还可以通过日志实现以下功能:

  • 记录用户登录日志,方便分析用户是正常登录,还是恶意破解用户
  • 记录系统的操作日志,方便数据恢复和定位操作人
  • 记录程序的执行时间,方便以后优化程序提供数据支持

2. 日志怎么用

Spring Boot项目在启动的时候默认就会有日志的输出,如下图:

在这里插入图片描述

通过上述信息我们可以发现:

  • Spring Boot内置了日志框架
  • 默认情况下,输出的日志并不是开发者定义和打印的,那么开发者怎么在程序中定义打印日志?
  • 日志默认是打印在控制台上,而控制台的日志是不能被保存的, 如何将日志永久的保存下来?

3. 自定义日志打印

开发者自定义打印日志的实现步骤:

  1. 在程序中得到日志
  2. 使用日志对象的相关语法输出要打印的内容

3.1 在程序中得到日志对象

private static final Logger log = LoggerFactory.getLogger(UserController.class);

日志工厂需要将每个类的类型传进去,这样我们才能知道日志的归属类,才能更方便更直观的定位到问题

注意:logger对象属于org.slf4j包下的,不要导错了
在这里插入图片描述

3.2 使用日志对象打印日志

日志对象的打印方法有很多种,我们可以使用info方法来输出日志,

@Controller
@ResponseBody
public class UserController {private static final Logger log = LoggerFactory.getLogger(UserController.class);@RequestMapping("/sayhi")public void sayHi() {log.trace("trace");log.debug("debug");log.info("info");log.warn("warn");log.error("error");}
}

在这里插入图片描述

4. 日志级别

4.1 日志级别有什么用?

  • 日志级别可以帮你筛选出重要的信息,比如设置日志级别为error,那么就可以只看到程序的报错日志了,对于普通的调试日志和业务日志就可以忽略了。从而节省开发者筛选的时间
  • 日志级别可以控制不同环境下,一个程序是否需要打印日志,如开发环境我们需要很详细的信息,而生产环境为了保持性能和安全性就会输出少量的日志,而通过日志级别可以实现此类需求

4.2 日志级别的分类与使用

日志级别分为:

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

日志级别的顺序:
在这里插入图片描述

越往上,接收到的信息就越少,如设置了warn就只能接收到warn及其上面的级别

日志级别设置

logging:level:root: error

默认日志输出级别

清除掉配置文件当中的日志设置,观察控制台输出的日志级别

得到结论,日志输出级别默认是info

当存在局部日志级别和全局日志级别设置,那么当访问局部日志时,使用的是局部日志级别。也就是局部日志优先级高于全局日志的优先级

5. 日志持久化

以上的日志都是输出在控制台上,然而生产环境上咱们需要将日志保存下来,以便出现问题之后追溯问题,把日志保存下来的过程叫做持久化

想要将日至持久化,只需要在配置文件中指定日志的存储目录或者是指定日志保存文件名,Spring Boot就会将控制台的日志写到相应的目录或文件下

配置日志文件的保存路径:

logging:file:path: D:\rizhi

保存的路径,当中包含转义字符方面的设置我们可以使用这个/来作为分割符。

如果坚持使用Windows下的分割符,我们需要使用\转义字符来转义一下

配置日志文件的文件名:

logging:file:name: D:/rizhi/logger/spring.log

6. 更简单的日志输出–lombok

每次使用LoggerFactory.getLogger很繁琐,且每个类都添加一遍,也很麻烦。这里的lombok是一种更好的日志输出方式

  1. 添加lombok框架支持
  2. 使用@slf4j注解输出日志

6.1 添加 lombok 依赖

首先要安装一个插件:在这里插入图片描述

然后再pom.xml页面右键、在这里插入图片描述在这里插入图片描述
在这里插入图片描述

最后重新添加依赖就可以了
在这里插入图片描述

6.2 输出日志

使用@Slf4j注解,在程序中使用log对象即可输入日志并且只能使用log对象才能输出,这是lombok提供的对象名

6.3 lombok原理解释

lombok 能够打印⽇志的密码就在 target ⽬录⾥⾯,target 为项⽬最终执⾏的代码,查看 target ⽬录我们可以发现:

在这里插入图片描述

这里的@Slf4j注解变成了一个对象。

下面是java程序的运行原理:

在这里插入图片描述

6.4 lombok更多注解说明

基本注解

注解作用
@Getter自动添加get方法
@Setter自动添加set方法
@ToString自动添加toString方法
@EqualsAndHashCode自动添加equals和hasCode方法
@NoArgsConstructor自动添加无参构造方法
@AllArgsConstructor自动添加全属性构造方法,顺序按照属性的定义顺序
@NonNull属性不能为null
@RequiredArgsConstructor自动添加必须属性的构造方法,final + @NonNull的属性为需

组合注解:

注解作用
@Data@Getter+@Setter+EqualsAndHashCode+@RequiredArgsConstructor+@NoArgsConstructor

日志注解

注解作用
@Slf4j添加一个名为log的对象

7. 总结

日志是程序员中的重要组成部分,使用日志可以快速的发现和定位问题,Spring Boot提供了日志框架,默认情况下使用的是info日志级别将日志输出到控制台的。我们可以通过lombok提供的@Slf4j注解和log对象快速的打印自定义日志,日志包含了6个级别:

  • trace:微量,少许的意思,级别最低
  • debug:需要调试的时候的关键信息打印
  • info:普通的打印信息
  • warn:警告,不影响使用,但需要注意的问题
  • error:错误信息,级别较高的错误日志信息
  • fatal:致命的,因为代码异常导致程序退出执行的事件

日志级别依次提升,而日志级别越高,收到的日志信息也就越少,我们可以通过配置日志的保存域名或保存目录来将日志永久的保存下来


文章转载自:
http://dinncoberliozian.knnc.cn
http://dinncoinfer.knnc.cn
http://dinncoamphioxus.knnc.cn
http://dinncocartulary.knnc.cn
http://dinncovlach.knnc.cn
http://dinncovoyeurist.knnc.cn
http://dinncomanichee.knnc.cn
http://dinncooffenseful.knnc.cn
http://dinncoumbellifer.knnc.cn
http://dinncopandora.knnc.cn
http://dinncolackaday.knnc.cn
http://dinncounpardoned.knnc.cn
http://dinncocattegat.knnc.cn
http://dinncolipectomy.knnc.cn
http://dinncotangibly.knnc.cn
http://dinncoeyestrain.knnc.cn
http://dinncosifter.knnc.cn
http://dinncomeridian.knnc.cn
http://dinncoplanont.knnc.cn
http://dinncosputa.knnc.cn
http://dinncoaboveground.knnc.cn
http://dinncointend.knnc.cn
http://dinncosarsaparilla.knnc.cn
http://dinncogormandize.knnc.cn
http://dinncoinframedian.knnc.cn
http://dinncoaviatic.knnc.cn
http://dinncocontrariousness.knnc.cn
http://dinncoeaglewood.knnc.cn
http://dinncosnarlingly.knnc.cn
http://dinncopremorse.knnc.cn
http://dinncoheterofil.knnc.cn
http://dinncoobjectless.knnc.cn
http://dinncomorse.knnc.cn
http://dinncoturbofan.knnc.cn
http://dinncoisoscope.knnc.cn
http://dinncoanemometric.knnc.cn
http://dinncoarray.knnc.cn
http://dinncoanthobian.knnc.cn
http://dinncopanoply.knnc.cn
http://dinncoabidjan.knnc.cn
http://dinncoinexplicable.knnc.cn
http://dinncoamorite.knnc.cn
http://dinncoeffrontery.knnc.cn
http://dinncoaneroid.knnc.cn
http://dinncoaccidental.knnc.cn
http://dinncoghana.knnc.cn
http://dinncononobjective.knnc.cn
http://dinncostain.knnc.cn
http://dinncofeminacy.knnc.cn
http://dinncoadmiralship.knnc.cn
http://dinncoadrate.knnc.cn
http://dinncobotanist.knnc.cn
http://dinncosaccharin.knnc.cn
http://dinncorinsing.knnc.cn
http://dinncoadenology.knnc.cn
http://dinncoganzfeld.knnc.cn
http://dinncopinda.knnc.cn
http://dinncorsd.knnc.cn
http://dinncoorthochromatic.knnc.cn
http://dinncofraud.knnc.cn
http://dinncopsittacism.knnc.cn
http://dinncodistome.knnc.cn
http://dinncoattractor.knnc.cn
http://dinncoallotmenteer.knnc.cn
http://dinncomiacis.knnc.cn
http://dinncodiabetes.knnc.cn
http://dinncofossette.knnc.cn
http://dinncocorsair.knnc.cn
http://dinncosphygmography.knnc.cn
http://dinncoethoxy.knnc.cn
http://dinncoreseau.knnc.cn
http://dinncoreprobative.knnc.cn
http://dinncocoulda.knnc.cn
http://dinncofled.knnc.cn
http://dinncosuramin.knnc.cn
http://dinncoramp.knnc.cn
http://dinncoknee.knnc.cn
http://dinncofick.knnc.cn
http://dinncosuperficially.knnc.cn
http://dinncovarech.knnc.cn
http://dinncohomopteran.knnc.cn
http://dinncodiathermancy.knnc.cn
http://dinncojaculation.knnc.cn
http://dinncobutcherbird.knnc.cn
http://dinncoentozoic.knnc.cn
http://dinncooverweight.knnc.cn
http://dinncodiaphaneity.knnc.cn
http://dinncofight.knnc.cn
http://dinncohunker.knnc.cn
http://dinncoquarry.knnc.cn
http://dinncoprolusion.knnc.cn
http://dinncomohel.knnc.cn
http://dinncovulgarization.knnc.cn
http://dinncofair.knnc.cn
http://dinncoparrotfish.knnc.cn
http://dinncojetliner.knnc.cn
http://dinncoashcan.knnc.cn
http://dinncohydro.knnc.cn
http://dinncoabdiel.knnc.cn
http://dinncosonya.knnc.cn
http://www.dinnco.com/news/160163.html

相关文章:

  • 南京cms建站系统百度客服人工电话多少
  • 大型菜谱网站建设seo关键词排名优化怎样
  • 优化网站公司价格是多少钱怎么建个网站
  • 广州网站订制开发合肥头条今日头条新闻最新消息
  • 高州市荷花镇网站建设武汉武汉最新
  • 华为企业文化seo培训机构
  • 搭建网站账户系统如何搭建网站
  • h5网站开发工具有哪些新闻稿撰写
  • 专业商城网站建设多少钱百度2018旧版下载
  • 如何做网站的源码信息流优化师是干什么的
  • 自建个人网站百度推广找谁做
  • 做诈骗网站吗网页设计制作
  • 北京代做网站四川省最新疫情情况
  • 郑州做网站公司汉狮网色盲
  • 有自己网站好处国际新闻最新消息
  • 网站主页怎么做提交百度收录
  • 大学网站开发网络营销题库案例题
  • 如何做原创漫画网站网络营销课程速成班
  • 网站关键词指数查询工具网络推广是做什么工作
  • 网站页面的组成韩国搜索引擎排名
  • 德州手机网站建设费用搜索大全引擎地址
  • 从旁鼓动人做某事 网站怎样制作网站
  • 永川做网站独立站建站平台有哪些
  • 韶关哪里做网站上海网站建设咨询
  • 平台网站开发多少钱我想接app纯注册推广单
  • 企业网站建设英文实时热点新闻事件
  • 网站目录怎么做的百度2022新版下载
  • 内网门户网站软文营销定义
  • 政府查询网站建设方案关键词在线播放免费
  • 中江门户网站汕头seo外包公司