澳门皇冠体育app

设为首页 - 加入收藏 我爱资讯网 (http://12xzg.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: 华为 数据 中国 苹果
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

皇冠体育注册新皇冠体育官网皇冠体育在线bet皇冠体育bet皇冠体育官网

发布时间:2019-11-11 14:17 所属栏目:[教程] 来源:舟谱数据
导读:一 为什么需要服务皇冠体育注册皇冠体育在线新? 对于后端老鸟来说,一定遇到过这样的场景: 为了排查线上突发的问题,非常希望能够全面的看到请求在服务链路上的完整皇冠体育注册输出; But,在生产环境中,为了避免皇冠体育注册打印过量造成磁盘空间浪费,通常会将皇冠体育注册级别设定在INFO,并关

 皇冠体育注册新皇冠体育官网皇冠体育在线bet皇冠体育bet皇冠体育官网

一 为什么需要服务皇冠体育注册皇冠体育在线新?

对于后端老鸟来说,一定遇到过这样的场景:

为了排查线上突发的问题,非常希望能够全面的看到请求在服务链路上的完整皇冠体育注册输出;

But,在生产环境中,为了避免皇冠体育注册打印过量造成磁盘空间浪费,通常会将皇冠体育注册级别设定在INFO,并关闭一般情况用不到的皇冠体育注册输出;

在不重启服务的情况下,开启本已经关闭的业务皇冠体育注册输出,能不能搞的定呢?答案是当然没问题。

二 需求分析

熟悉logback的同学此时肯定已经想到通过扫描监听logback.xml文件新皇冠体育官网变化来实现皇冠体育注册级别的调整,像如下这种方式:

  1. <configuration debug="true" scan="true" scanPeriod="1 seconds"> 

但通常情况下,你的业务服务是分布式部署的,后端节点有多台,如果一台台的去改,且不说运维大哥未必就会同意给你生产机器文件的修改权限,即使可以,这么做未免有些过于“老实”了;有没有一种可以集中管理皇冠体育注册新皇冠体育官网,修改文件后再逐个分发给各节点的解决方案呢?沿着这个思路,自然而然就会联想到新皇冠体育官网中心,这里,我主要介绍携程开源的apollo,同类的新皇冠体育官网中心产品还有百度Disconf、阿里ACM和Spring Cloud Config,感兴趣的自行研究。

三 做实验

熟悉apollo文件管理的同学都知道,apollo通过推拉结合的方式将服务端存储的应用新皇冠体育官网文件缓存到本地是以properties的格式存储的,如下面所示:

demo+dev+logback.xml.properties

  1. content=<?xml version\="1.0" encoding\="UTF-8"?>\n<configuration debug\="true">\n\t<property name\="encoding" value\="UTF-8"/>\n\n\t<appender name\="STDOUT" class\="ch.qos.logback.core.ConsoleAppender">\n\t\t<encoder class\="ch.qos.logback.classic.encoder.PatternLayoutEncoder">\n\t\t\t<pattern>%d{yyyy-MM-dd HH\:mm\:ss.SSS}|%X{requestId}|[%t] %-5level %logger{50} %line - %m%n</pattern>\n\t\t</encoder>\n\t</appender>\n\n\t<appender name\="FILE" class\="ch.qos.logback.core.rolling.RollingFileAppender">\n\t\t<file>logs/brm.log</file>\n\t\t<encoder class\="ch.qos.logback.classic.encoder.PatternLayoutEncoder">\n\t\t\t<pattern>%d{yyyy-MM-dd HH\:mm\:ss.SSS}|%X{requestId}|%X{requestSeq}|[%t] %-5level %logger{50} %line - %m%n</pattern>\n\t\t</encoder>\n\t\t<rollingPolicy class\="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">\n\t\t\t<fileNamePattern>logs/brm-%d{yyyy-MM-dd-HH}-%i.log</fileNamePattern>>\n\t\t\t<\!--单个文件切割阈值,超过生成新log文件-->\n\t\t\t<maxFileSize>200MB</maxFileSize>\n\t\t\t<\!--最大保留天数-->\n\t\t\t<maxHistory>336</maxHistory>\n\t\t</rollingPolicy>\n\t</appender>\n\n    <\!--log4jdbc -->\n    <logger name\="jdbc.sqltiming" level\="INFO"/>\n    <logger name\="jdbc.sqlonly" level\="OFF"/>\n    <logger name\="jdbc.audit" level\="OFF"/>\n    <logger name\="jdbc.resultset" level\="OFF"/>\n    <logger name\="jdbc.resultsettable" level\="OFF"/>\n    <logger name\="jdbc.connection" level\="OFF"/>\n        \n\t<root level\="INFO">\n\t\t<appender-ref ref\="STDOUT"/>\n\t\t<appender-ref ref\="FILE"/>\n\t</root>\n</configuration> 

HH\:mm\:ss.SSS}|%X{requestId}|%X{requestSeq}|[%t] %-5level %logger{50} %line - %m%n \n\t\t\n\t\t\n\t\t\tlogs/brm-%d{yyyy-MM-dd-HH}-%i.log>\n\t\t\t<\!--单个文件切割阈值,超过生成新log文件-->\n\t\t\t200MB\n\t\t\t<\!--最大保留天数-->\n\t\t\t336\n\t\t\n\t\n\n <\!--log4jdbc -->\n \n \n \n \n \n \n \n\t\n\t\t\n\t\t\n\t\n

而我们通常在新皇冠体育官网logback的时候使用的是xml文件;

因此,我们要想办法让logback能够加载context的内存值信息。

阅读logback资料发现,JoranConfigurator支持我们以自定义的方式新皇冠体育官网logback,

而springboot是通过LoggingSystem来加载管理皇冠体育注册系统的;如果我能在springboot启动的时候指定我自定义的皇冠体育注册加载类,问题便迎刃而解。

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章

澳门皇冠体育app