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

郑州天梯网站制作科技公司网站建设策划方案

郑州天梯网站制作,科技公司网站建设策划方案,做京挑客的网站有哪些,软件公司需要的资质和认证一、概述 对于一个web项目来说#xff0c;日志框架是必不可少的#xff0c;日志的记录可以帮助我们在开发以及维护过程中快速的定位错误。slf4j,log4j,logback,JDK Logging等这些日志框架都是我们常见的日志框架#xff0c;本文主要介绍这些常见的日志框架关系和SpringBoot…一、概述 对于一个web项目来说日志框架是必不可少的日志的记录可以帮助我们在开发以及维护过程中快速的定位错误。slf4j,log4j,logback,JDK Logging等这些日志框架都是我们常见的日志框架本文主要介绍这些常见的日志框架关系和SpringBoot整合Sfl4jlogback的实践。 二、日志系统介绍 1.日志系统介绍 首先slf4j可以理解为规则的制定者是一个抽象层定义了日志相关的接口。log4j,logback,JDK Logging都是slf4j的实现层只是出处不同当然使用起来也就各有千秋。 2.为什么使用Sfl4jlogback slf4jlogback是这些组合中最常见的日志搭配。总结起来起核心的优势有1使用slf4jlogback的性能更高2slf4j和logback框架的作者是同一个所以兼容性更好。 三、SpringBoot整合Sfl4jlogback的实践 网上很多教程说明配置Sfl4jlogback时都会要求引入logback-classic等依赖这在使用Spring框架的时候确实是必须的但在使用Springboot框架是没必须的因为在spring-boot-starter中已经整合了Sfl4jlogback日志系统。 dependency groupIdch.qos.logback/groupIdartifactIdlogback-classic/artifactIdversion1.2.3/version /dependency 1.添加logback-spring.xml配置文件 以下是一个logback-spring.xm的常见配置我们以以下这个模板来说明其中配置项的含义。 ?xml version1.0 encodingUTF-8? !-- 一般根节点不需要写属性了使用默认的就好 -- configurationcontextNamedemo/contextName!-- 该变量代表日志文件存放的目录名 --property namelog.dir valuelogs/!-- 该变量代表日志文件名 --property namelog.appname valueeran/!--定义一个将日志输出到控制台的appender名称为STDOUT --appender nameSTDOUT classch.qos.logback.core.ConsoleAppender!-- 内容待定 --/appender!--定义一个将日志输出到文件的appender名称为FILE_LOG --appender nameFILE_LOG classch.qos.logback.core.FileAppender!-- 内容待定 --/appender!-- 指定com.demo包下的日志打印级别为INFO但是由于没有引用appender所以该logger不会打印日志信息日志信息向上传递 --logger namecom.demo levelINFO/!-- 指定最基础的日志输出级别为DEBUG并且绑定了名为STDOUT的appender表示将日志信息输出到控制台 --root leveldebugappender-ref refSTDOUT //root /configuration 1. 标签 定义日志策略的节点一个日志策略对应一个appender一个配置文件中可以有零个或者多该节点但一个配置文件如果没有定义至少一个appender虽然程序不会报错但就不会有任何的日志信息输出也失去了意义。该节点有两个必要的属性 name指定该节点的名称方便之后的引用。class指定该节点的全限定名所谓的全限定名就是定义该节点为哪种类型的日志策略比如我们需要将日志输出到控制台就需要指定class的值为ch.qos.logback.core.ConsoleAppender;需要将日志输出到文件则class的值为ch.qos.logback.core.FileAppender等。 2. 标签 用来设置某个包或者类的日志打印级别并且可以引用 绑定日志策略在该节点内可以添加子节点 appender-ref,该节点有一个必填的属性 ref,值为我们定义的 appender节点的 name属性的值。该节点有三个属性 name用来指定受此 约束的包或者类。 level可选属性用来指定日志的输出级别如果不设置那么当前 会继承上级的级别。 additivity是否向上级传递输出信息两个可选值true or false默认为true。 3. 标签 根logger一个特殊的logger即默认name属性为root的logger因为是根logger所以不存在向上传递一说故没有additivity属性,所以该节点只有一个level属性。 常见的 配置如下 pattern[Eran]%date [%thread %line] %level %msg %logger{10}%n/pattern 异步写入日志AsyncAppender。AsyncAppender并不处理日志只是将日志缓冲到一个BlockingQueue里面去并在内部创建一个工作线程从队列头部获取日志之后将获取的日志循环记录到附加的其他appender上去从而达到不阻塞主线程的效果。因此AsynAppender仅仅充当事件转发器必须引用另一个appender来写日志。常见的配置如下 appender name ASYNC class ch.qos.logback.classic.AsyncAppender !-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -- discardingThreshold 0/discardingThreshold !-- 更改默认的队列的深度,该值会影响性能.默认值为256 -- queueSize512/queueSize !-- 添加附加的appender,最多只能添加一个 -- appender-ref ref FILE_LOG/ /appender 2.代码中添加日志逻辑 添加好logback-spring.xml配置文件后就可以在代码中添加日志逻辑添加也很简单只需要通过log.info()这样的方式来实现。 import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;RestController Slf4j public class TestController01 {RequestMapping(/hello)public String index() {log.debug(hello world0.);log.info(hello world.);log.warn(hello world1.);log.error(hello world2.);return Hello World.;}} Slf4j有四个级别的log level可供选择级别从上到下由低到高优先级高的将被打印出来。 debug简单来说对程序调试有利的信息都可以debug输出info对用户有用的信息warn可能会导致错误的信息error顾名思义发生错误的地方 为了简化创建logger对象的逻辑可以直接使用lombok的Slf4j的注解只需要在pom文件中引入以下依赖 dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.10/versionscopeprovided/scope /dependency 具体代码实现和配置文件https://github.com/yangnk/SpringBoot_Learning/tree/master/SpringbootLogDemo 四、其他 推荐一个IDEA中日志查看插件Grep Console。这是一个帮你分析控制台日志的插件可以对不同级别的日志进行不同颜色的高亮显示具体效果如下 参考资料 slf4j官网https://www.slf4j.org/manual.html一步一步带你熟悉SpringBoot 配置slf4jlogbackhttps://blog.csdn.net/weixin_49307478/article/details/126836019SpringBoot整合logback,slf4jhttps://blog.csdn.net/weixin_42259925/article/details/103954982 本文由博客一文多发平台 OpenWrite 发布
http://www.w-s-a.com/news/603411/

相关文章:

  • 网站接口设置地税局内网网站建设
  • 谷歌提交网站入口wordpress前台自动登录
  • 规模以上工业企业的标准是什么洛阳霞光seo网络公司
  • 怎样用文本建一个网站做美容美发学校网站公司
  • 南宁企业网站建设制作芜湖网站建设推广
  • 泉州市建设局网站公示深圳建站公司好坏
  • 如何搭建网站教程一个人制作网站
  • 网站开发专业都有哪些课程广州安全教育平台账号找回
  • 网站调整方案适合平面设计师的网站
  • 免费服务器建立网站用html5做的旅游网站代码
  • 学校英语网站栏目名称WordPress禁用邮件注册
  • 手机qq网页版网站沧州手机网站开发
  • 深圳罗湖网站设计公司建设的网站属于无形资产吗
  • 网站开发python西安网站建站品牌
  • 网站开发商标属于哪一类做网站还有钱赚吗
  • 做设计的搜素材上什么网站好设计公司画册设计哪家好
  • 视频网站开发需要什么语言做ui设计一年后年薪多少
  • 网站服务器维护费用统一企业官方网站
  • 网站如何调用手机淘宝做淘宝客呼和浩特网站运营公司
  • 做推广可以上那些网站网页游戏排行榜2014前十名
  • 国外网站备案流程企业网站 流程
  • 重庆网站建设letide童程童美少儿收费价目表
  • 苏州建站仿站东莞排名推广
  • 大中小网站的区分wordpress个人主页主题
  • 商务网站建设的可行性分析包括小程序源码网免费
  • 永州网站建设收费标准重庆网站建设公司夹夹虫专业
  • python做网站多少钱wordpress 2.8
  • 深圳网站平台网站开发工作程序怎么写
  • 自己可以接单做网站吗wordpress 添加自定义按钮
  • 网站首页权重宣传页制作