怎么提高网站流量深圳做网站哪家公司专业

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

怎么提高网站流量,深圳做网站哪家公司专业,wordpress开发网站,y1s华硕wordpressLogback日志技术 日志 日志#xff08;Logging#xff09;是软件开发和运维中用于记录系统或应用程序运行期间发生的运行信息、状态变化、错误信息等的一种机制#xff0c;这种记录的方式就好像我们日常生活中写日记一样。它提供了一种持久化的方式#xff0c;使得开发者…Logback日志技术 日志 日志Logging是软件开发和运维中用于记录系统或应用程序运行期间发生的运行信息、状态变化、错误信息等的一种机制这种记录的方式就好像我们日常生活中写日记一样。它提供了一种持久化的方式使得开发者和运维人员可以回顾系统过去运行时发生的事情了解系统的运行情况诊断问题并进行优化。 sout的局限 在Java程序运行时我们可以通过标准输出System.out.println对程序运行过程进行监视通过sout将程序运行过程输出在控制台中方便观察和调试sout输出也可以达到类似于“记录日志”的效果并且通过sout输出十分简单、方便但也十分局限sout只能在控制台中输出不能输出到其他地方如本地文件或者数据库中假如程序停止或清空控制台就再也无法看到程序运行的过程了。并且使用sout在代码中记录日志不便于项目的扩展和维护假如说不需要记录日志了那么必须去代码中sout的地方一行一行的更改由于这些局限所以说在实际开发中我们一般是通过日志技术将项目运行的日志记录到本地文件中保存。 日志技术迭代 JUL 这是JavaSE平台提供的官方日志框架配置相对简单年代久远不够灵活且性能较差所以说现在已经基本上不再使用。 Log4j 这是一个流行的日志框架其提供了灵活的配置选项支持多种输出目标比如控制台本地文件数据库等是一个比较强大的日志框架。 Logback 是Log4j的设计者根据Log4j升级的日志框架其提供了更多的功能和配置选项其性能也优于Log4j是现在最受欢迎的日志框架。本文主要讲解的是Logback框架。 Slf4j Simple Logging Facade for Java其翻译成中文是简单日志门面其提供了一套日志操作的标准接口及抽象类允许应用程序使用不同的底层日志框架。相当于可以在代码中直接使用Slf4j提供的API但是真正干活的是底层日志框架的实现方法。 Logback快速入门 Logback使用十分简单当使用springboot框架构建项目时更是事半功倍。 1.首先需要引入Logback的依赖但是当我们使用springboot框架时该依赖已经传递无需手动引入 如果不是使用springboot框架构建项目就需要引入其依赖至少得用maven构建项目吧… 2.配置文件logback.xml需要使用logback.xml配置文件配置logback框架的相关设置比如日志级别、输出位置、日志格式等假如是springboot项目就需要将这个配置文件放在resource文件夹中。 3.定义日志记录对象Logger这一步是固定的想要记录日志就需要一个日志记录对象Logger我们是通过操作Logger对象中的方法记录日志的其定义方式是固定的 private static final Logger log LoggerFactory.getLogger(当前类的字节码文件) 注意要使用Slf4j中的Logger对象和LoggerFactory 假如使用了Lombok那么可以直接使用注解Slf4j这个注解就会自动帮助我们创建一个名为log的Logger对象。  做好这些准备工作之后就可以记录日志了 SpringBootTest class JavaWeb12LogbackApplicationTests {private static final Logger log LoggerFactory.getLogger(JavaWeb12LogbackApplicationTests.class);Testpublic void testLogback() {log.info(开始计算);int sum 0;for (int i 0; i 100; i) {sum i;}log.info(计算结果为{}, sum);log.info({}结束计算, LocalDateTime.now());} }观察控制台输出日志 如图所示说明使用Logback日志框架记录日志成功成功在控制台中记录了日志。但是仅仅是在控制台中输出日志这和sout并无区别反而显得更加复杂这个时候我们就需要在logback.xml中进行设置设置Logback的细节了。 logback.xml配置文件 logback.xml配置文件是对日志框架输出的日志进行控制的可以用于配置日志输出的格式、位置、开关日志输出等我们先来看这样一份常见的logback.xml配置文件 ?xml version1.0 encodingUTF-8? configuration!– 控制台输出 –appender nameSTDOUT classch.qos.logback.core.ConsoleAppenderencoder classch.qos.logback.classic.encoder.PatternLayoutEncoder!–格式化输出%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度 %msg日志消息%n是换行符 –pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}-%msg%n/pattern/encoder/appender!– 系统文件输出 –appender nameFILE classch.qos.logback.core.rolling.RollingFileAppenderrollingPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy!–日志文件输出的文件名%i表示序号从0开始–FileNamePatternD:/log/web_study-%d{yyyy-MM-dd}-%i.log/FileNamePattern!–最多保存的历史日志文件数量–MaxHistory100/MaxHistory!–每个日志文件的最大大小超过这个大小会自动记录到新文件默认为10MB–MaxFileSize10MB/MaxFileSize/rollingPolicyencoder classch.qos.logback.classic.encoder.PatternLayoutEncoder!–格式化输出%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度 %msg日志消息%n是换行符 –pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}-%msg%n/pattern/encoder/appender!– 日志输出级别 –root levelinfoappender-ref refSTDOUT /appender-ref refFILE //root /configuration日志输出级别 !– 日志输出级别 –root levelinfoappender-ref refSTDOUT /appender-ref refFILE //root这段配置文件中的代码规定了日志的输出级别levelinfo则意味着必须级别≥info的日志才能被输出级别info的日志就不会被输出了可以根据需求设置不同的级别。appender-ref refSTDOUT是将日志输出到控制台appender-ref refFILE是将日志输出到系统文件。这段代码的意思可以理解为将级别≥info的日志输出到控制台和系统文件。 控制台输出 !– 控制台输出 – appender nameSTDOUT classch.qos.logback.core.ConsoleAppenderencoder classch.qos.logback.classic.encoder.PatternLayoutEncoder!–格式化输出%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度 %msg日志消息%n是换行符 –pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}-%msg%n/pattern/encoder /appender这段配置文件主要是配置控制台输出需要在appender中指定name属性为STDOUT便于输出级别引用class属性指定为ch.qos.logback.core.ConsoleAppender代表这是控制台输出。在encoder中设置输出格式%d表示需要输出时间然后在{}中指定时间的格式%thread表示需要输出是哪个线程输出该日志的由于日志级别一般是4-5个字符所以说使用%-5level输出日志级别通过指定宽度可以让日志输出更加美观%msg就是日志输出的消息内容%n是换行符这个一般来说都会加便于日志观察。 系统文件输出 !– 系统文件输出 – appender nameFILE classch.qos.logback.core.rolling.RollingFileAppenderrollingPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy!–日志文件输出的文件名%i表示序号从0开始–FileNamePatternD:/log/web_study-%d{yyyy-MM-dd}-%i.log/FileNamePattern!–最多保存的历史日志文件数量–MaxHistory100/MaxHistory!–每个日志文件的最大大小超过这个大小会自动记录到新文件默认为10MB–MaxFileSize10MB/MaxFileSize/rollingPolicyencoder classch.qos.logback.classic.encoder.PatternLayoutEncoder!–格式化输出%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度 %msg日志消息%n是换行符 –pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}-%msg%n/pattern/encoder /appender这段配置文件主要是配置系统文件输出需要在appender中指定name属性为FILE便于输出级别引用class属性指定为ch.qos.logback.core.rolling.RollingFileAppender代表这是文件输出。在rollingPolicy中设置输出系统文件的设置FileNamePattern用于设置日志输出的文件名%d用于表示时间和上面一样、%i是序号从0开始日志文件的后缀名一般是.log;MaxHistory表示系统最多保存的历史日志文件数量此处设置为100MaxFileSize表示每个日志文件的最大大小超过这个大小会自动记录到新文件默认是10MB。encoder中的内容和控制台输出一致此处不做赘述。 日志级别 日志级别是指日志信息的类型日志都会分级别常见的日志级别如下 trace trace级别是日志级别中最低的级别用于追踪、记录程序的运行轨迹使用较少。 debug debug级别高于trace级别是用于记录程序调试过程信息实际应用中将其视为最低级别实际上最低级别是trace但是在使用时将debug当作最低使用较多。 info info级别高于debug级别用于记录一般信息描述程序运行相关事件比如网络连接、io操作等使用较多。 warn warn级别高于info级别用于输出警告信息记录潜在的有害情况使用较多。 error error级别是这几个级别中最高的级别用于输出错误信息使用较多。 我们在logback.xml文件中配置日志输出级别时若不是特殊情况不建议输出info级别以下的日志因为很多框架在启动时会输出大量的trace和debug级别的日志会影响我们查看日志。