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

如何做好网站关键词优化微信网站怎么做

如何做好网站关键词优化,微信网站怎么做,家具设计师常去的网站,网站建设的基本话术Log4j 2、Logpack、SLF4j日志框架介绍 Log4j 2、Logpack、SLF4j日志框架#xff0c;及其区别1.1 Log4j 21.1.1 日志级别1.1.2 日志输出目标位置1.1.3 日志刷新机制1.1.4 结构化打印日志1.1.5 异步打印日志1.1.6 在Cloud云环境汇集日志信息 1.2 LogPack1.3 SLF4j1.4 区别 Log4j… Log4j 2、Logpack、SLF4j日志框架介绍 Log4j 2、Logpack、SLF4j日志框架及其区别1.1 Log4j 21.1.1 日志级别1.1.2 日志输出目标位置1.1.3 日志刷新机制1.1.4 结构化打印日志1.1.5 异步打印日志1.1.6 在Cloud云环境汇集日志信息 1.2 LogPack1.3 SLF4j1.4 区别 Log4j 2、Logpack、SLF4j日志框架及其区别 1.1 Log4j 2 注意二者在包名上的区别考虑到目前使用的大多是Log4j 2Log4j的使用就不单开一节做介绍了。 Log4j : org.apache.log4j.xxx Log4j 2 : org.apache.logging.log4j.xxx dependencies!--log4j 2日志框架--dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-api/artifactIdversion2.20.0/version/dependencydependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-core/artifactIdversion2.20.0/version/dependency/dependencies1.1.1 日志级别 你可能还会见到Log4j 2的说法Log4j 2是Log4j的更新一代版本。总共有六个日志级别数值越小越严重。 (1)TRACE (600) : 最不严重的日志级别通常用来打印细粒度信息如进入与退出一个函数的过程信息、变量值信息以及其它可以帮助你理解代码之间内部工作关系的细节信息。 (2)DEBUG (500) : 可以用来追踪一个函数是否有正确执行。 (3)INFO (400) : it is used for informational messages that record events that occur during the normal operation of your applicationsuch as user authentication, API calls, or database access. These messages help you understand what’s happening within your application. (4)WARN (300) : events logged at this level indicate potential issues that might require your attention before they become significant problems. (5)ERROR (200) : it is used to record unexpected errors that occur during the course of program execution. (6)FATAL (100) : this is the most severe log level, and it indicates an urgent situation affecting your application’s core component that should be addressed immediately. 打印日志有个规律配置文件如果要打印TRACE级别那么比TRACE级别高的DEBUG级别一定不可避免会被打印出来其它的以此类推。 除了这六个级别以外你也可以自定义级别定义方法如下 package com.example;import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Level;public class App {protected static final Logger logger LogManager.getLogger();public static void main(String[] args) {logger.log(Level.getLevel(VERBOSE), a verbose message);} }1.1.2 日志输出目标位置 还有就是log4j可以定义你的日志输出目标位置是console控制台、还是files文件、亦或是database数据库或者云环境等。假设下面这段内容是log4j2.xml的文件内容最终的日志会输出到当前项目根目录下的./logs/app.log文件中。 ?xml version1.0 encodingUTF-8? Configuration statusINFOAppendersFile namefile fileName./logs/app.logPatternLayout pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n //File/AppendersLoggersRoot levelinfoAppenderRef reffile //Root/Loggers /Configuration1.1.3 日志刷新机制 同时为了防止文件无限度的增长需要让log4j开辟一个新文件去存储这可以用RollingFile来实现即文件滚动。还是在上一段xml的基础上修改了一点内容。那么可以看到日志会输出至.gz后缀的压缩文件一旦文件到了1KB就会新建另一个.gz后缀的压缩文件这里选1KB是为了方便运行观察效果实际中肯定是选百MB或GB级别的。 ?xml version1.0 encodingUTF-8? Configuration statusINFOAppendersRollingFile namerolling fileNamelogs/app.logfilePatternlogs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gzPatternLayout pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n /PoliciesTimeBasedTriggeringPolicy /SizeBasedTriggeringPolicy size250 MB //Policies/RollingFile/AppendersLoggersRoot levelinfoAppenderRef refrolling //Root/Loggers/Configuration除了根据大小刷新日志还有定时刷新日志的功能更多功能具体请看参考文章[1]不过这篇文章在cron表达式与OnStartupTriggeringPolicy处有错误不能全部都信。 1.1.4 结构化打印日志 除了PatternLayout规定的格式我们还可以用JSON、XML格式来打印日志可以用JsonLayout来打印JSON格式的日志首先要添加jar包依赖 !--pom.xml--dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.15.0/version/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-core/artifactIdversion2.15.0/version/dependency!--log4j2.xml-- ?xml version1.0 encodingUTF-8? Configuration statusINFOAppendersConsole nameconsole targetSYSTEM_OUTJsonLayout //Console/AppendersLoggersRoot leveltraceAppenderRef refconsole //Root/Loggers/Configuration运行 import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.ThreadContext;public class Log4j_JSON {protected static final Logger logger LogManager.getLogger();public static void main(String[] args) {ThreadContext.put(orderNumber, 1234567890);ThreadContext.put(buyerName, jack);ThreadContext.put(destination, xxxxxxxxxx);logger.info(Order shipped successfully.ThreadContext.getContext());ThreadContext.clearAll();} }这是打印效果 {instant : {epochSecond : 1702643420,nanoOfSecond : 977000000},thread : main,level : INFO,loggerName : lyp.basic.logFrame.Log4j_JSON,message : Order shipped successfully.{buyerNamejack, destinationxxxxxxxxxx, orderNumber1234567890},endOfBatch : false,loggerFqcn : org.apache.logging.log4j.spi.AbstractLogger,threadId : 1,threadPriority : 5 }你也可以配置自己的json模版具体看文章里的教程。 1.1.5 异步打印日志 什么是同步(Synchronism)一件一件事情来等结果执行完成再开始下一件。 什么是异步(ASynchronism前面就多了个A)事情一起开始有结果再汇报然后再处理。我们的日常生活就是异步的所以不要觉得异步反人性它可能反编程直觉但绝对是符合事物本质逻辑的。 所以打日志这种事情交给手下的日志框架去完成打印完了汇报下就可以这就是异步打印日志。但异步打印日志也有缺点比如 (1) 内存占比增加 (2) 系统崩溃时可能丢失数据 (3) 日志信息顺序混乱这可能给debug带来困难 (4) 这里文章[1]没讲明白另找文章。 1.1.6 在Cloud云环境汇集日志信息 Logtail: Cloud-based log management platforms. 参考视频或文章链接[1] How to Get Started with Log4j for Logging in Java[2] log4j - Apache[3] 《详解log4j2(上) - 从基础到实战》[4] Example code of log4j log4j2 and slf4j[5] 异步打印日志缺依赖看这篇《log4j2 AsyncLogger错误 NoClassDefFoundError: com/lmax/disruptor/EventFactory》 1.2 LogPack 略有兴趣请看文章。 参考视频或文章链接Introduction to SLF4J也包含一些对Logpack的介绍A Guide To Logback 1.3 SLF4j SLF4j Simple Logging Facade for Java (abbreviated SLF4J)Facade意思为房屋外观还有一种设计模式叫外观模式也叫门面模式名字正好就是Facade Pattern故SLF4j的全部意思是 “Java的简单日志外观”SLF4j支持不同的日志框架(e.g., java.util.logging, logback, Log4j)。 It offers a generic API, making the logging independent of the actual implementation.This allows for different logging frameworks to coexist.它提供了一个通用的API接口使得logging本身是独立于具体实现的。这使得SLF4J可以运行各种不同的日志框架共存。 SLF4J如何引用Log4j 2? dependencies!--slf4j框架--!--slf4j 接口-- dependencygroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactIdversion2.0.9/version/dependencydependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-slf4j2-impl/artifactIdversion2.22.0/version/dependencydependency !--使用slf4j框架进行AsyncLogging异步日志打印时若出现java.lang.NoClassDefFoundError: com/lmax/disruptor/EventHandler时需要引入--groupIdcom.lmax/groupIdartifactIddisruptor/artifactIdversion3.4.4/version/dependency/dependencies参考视频或文章链接SLF4J Manaul - Offical WebsiteIntroduction to SLF4JLog4j 2 SLF4J Binding - Apache 1.4 区别 首先Log4j 2与SLF4j并非同一事物虽然在搜索Log4j 2时时常会搜索出混杂了SLF4j与Log4j 2的内容。 参考视频或文章链接Java Logging Frameworks Comparison: SLF4j vs Log4j vs Logback vs Log4j2 [Differences]《最通俗易懂的 JAVA slf4j,log4j,log4j2,logback 关系与区别以及完整集成案例》
http://www.zqtcl.cn/news/673838/

相关文章:

  • 坑梓网站建设方案网络编程技术及应用
  • 电子商务网站建设 价格新媒体运营需要具备哪些能力
  • 做生存分析的网站电商网站运营建设的目标
  • 佛山 做网站邮箱官方网站注册
  • 生成flash的网站源码表白二维码制作网站
  • 定做专业营销型网站网站开发应用
  • 万盛建设局官方网站如何用群晖nas做网站
  • 建设装饰网站郑州惠济区建设局网站
  • 网站做标题有用吗网站优化多少钱
  • 婚庆设备租赁网站源码如何进行网站的建设和维护
  • 青岛做网站公wordpress文章付费阅读
  • 小灯具网站建设方案360优化大师
  • 开发公司与物业公司前期合同网站优化的推广
  • 汉堡云虚拟主机aso安卓优化公司
  • 医院 网站建设 新闻营销外包
  • 优秀网站网址郑州无痛人流哪家医院好
  • 备案网站能打开吗大良营销网站建设流程
  • 哪些网站可以做淘宝店招石油网站编辑怎么做
  • 网站出现建设中集团网站建设特点
  • asp网站开发 pdf企业展厅设计公司盛世笔特
  • 怎么创建网站 免费的免费开源的网站系统
  • 中山精品网站建设资讯网页设计师就业趋势
  • 网站建设哪家好 万维科技wordpress广告公司模板
  • 如何选择建网站公司网站页面html静态化
  • 建设银行网站入口网页设计培训 周末双休
  • 做企业网站建设的公司为什么企业网站不是开源系统
  • 网站客户端怎么做的做汽车脚垫版的网站
  • 做数学题挣钱的网站广西建筑特种作业证件查询官网
  • 汉字叔叔花了多少钱做网站免费原创视频素材
  • 网站开发提现功能互联网推广工作好做吗