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

摄影网站建设的意义flash个人网站欣赏

摄影网站建设的意义,flash个人网站欣赏,手机网站域做什么广告,政务公开 网站建设滞后打印日志 打印日志的步骤: • 在程序中得到日志对象. • 使用日志对象输出要打印的内容 在程序中得到日志对象 在程序中获取日志对象需要使用日志工厂LoggerFactory,代码如下: package com.example.demo;import org.slf4j.Logger; import org.slf4j.LoggerFactory;public c… 打印日志 打印日志的步骤: • 在程序中得到日志对象. • 使用日志对象输出要打印的内容 在程序中得到日志对象 在程序中获取日志对象需要使用日志工厂LoggerFactory,代码如下: package com.example.demo;import org.slf4j.Logger; import org.slf4j.LoggerFactory;public class LoggerController {private static Logger logger LoggerFactory.getLogger(LoggerController.class); }LoggerFactory.getLogger需要传递一个参数,用于标识该日志的出处,这样就可以清晰的看出该日志是哪个类输出的日志,方便观察调试,定位问题 这里需要注意的是: Logger和LoggerFactory这两个类是属于org.slf4j包下的 使用日志对象输出要打印的内容 日志对象的打印级别有很多种,这里先打印info级别的日志: package com.example.demo;import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;RestController RequestMapping(/logger) public class LoggerController {private static Logger logger LoggerFactory.getLogger(LoggerController.class);RequestMapping(/printLogger)public String printLogger(){logger.info(我是info级别的日志);return 打印日志;} }门面模式 真假日志框架 前面我们创建日志对象,导入了slf4j的包,因此,我们需要对slf4j进行深入的学习,要了解slf4j,就得先了解门面模式 门面模式提供了一个统一的接口,用于调用子系统中的一群子接口,并对子系统的接口提供了一套规范,标准,接口.所有SLF4J并不能独立使用,需要和具体的日志框架配合使用 slf4j就是这样一个门面系统,因为它本身并不是一个真正的日志实现,而只是一个抽象层,对真正的日志框架提供了规范. 常见的真正的日志框架有log4j,logback等 存在即合理 既然有真正的日志框架,那么为什么需要门面模式的存在? 在不引入门面模式的时候 当一个项目已经试用了log4j,假如出现一种情况,需要把logback也引入进去,那么就会引出以下问题: 不同日志框架的API接口和配置文件不同,如果多个日志框架共存,那么不得不维护多套配置文件(这 个配置文件是指用户自定义的配置文件).如果要更换日志框架,应用程序将不得不修改代码,并且修改过程中可能会存在一些代码冲突.如果引入的第三方框架,使用了多套,那就不得不维护多套配置 这时我们将门面模式引入,引入门面日志框架之后,应用程序和日志框架(框架的具体实现)之间有了统⼀的API接口(门面日志框架实现),此时应用程序只需要维护⼀套日志文件配置,且当底层实现框架改变时,也不需要更改应用程序代码. 门面模式的优点 • 减少了系统的相互依赖.实现了客户端与子系统的耦合关系,这使得子系统的变化不会影响到调用它的客户端 • 提高了灵活性,简化了客户端对子系统的使用难度,客户端无需关心子系统的具体实现方式,而只需要和门面对象交互即可. • 提高了安全性.可以灵活设定访问权限,不在门面对象中开通方法,就无法访问 日志格式的说明 打印的日志分别代表什么呢? 从上图可以看到日志输出内容元素具体如下 时间日期精确到毫秒日志级别ERROR,WARN,INFO,DEBUG或TRACE进程ID线程名Logger名(通常使用源代码的类名)日志内容 日志级别 日志级别的分类 日志的级别从高到低依次为:FATAL、ERROR、WARN、INFO、DEBUG、TRACE • FATAL:致命信息表示需要立即被处理的系统级错误. • ERROR:错误信息,级别较高的错误日志信息,但仍然不影响系统的继续运行. • WARN:警告信息,不影响使用,但需要注意的问题 • INFO:普通信息,用于记录应用程序正常运行时的⼀些信息,例如系统启动完成、请求处理完成等. • DEBUG:调试信息,需要调试时候的关键信息打印. • TRACE:追踪信息,比DEBUG更细粒度的信息事件(除非有特殊用意否则请使用DEBUG级别替代) 日志级别的使用 logger.trace( trace );logger.debug( debug );logger.info( info );logger.warn( warn );logger.error( error );return 打印不同日志; SpringBoot默认的日志框架是Logback,Logback没有 FATAL 级别,它被映射到ERROR . 出现fatal日志表示服务已经出现了某种程度的不可用,需要需要系统管理员紧急介入处理.通常情况下,一个进程生命周期中应该最多只有一次FATAL记录. 结果发现,只打印了info,warn和error级别的日志 这与日志级别的配置有关,日志的输出级别默认是info级别,所以只会打印大于等于此级别的日志,也就是info,warn和error. 日志配置 properties配置: logging.level.root: debug yml配置: logging:level:root: debug重新运行,就可以得到下面结果 日志持久化 以上的日志都是输出在控制台上的,然而在线上环境中,我们需要把日志保存下来,以便出现问题之后追溯问题.把日志保存下来就叫持久化. 日志持久化有两种方式: 1.配置日志文件名 logging.file.name logger.loglogging:file:name: logger.log运行结果显示,日志内容保存在了对应的目录下 2.配置日志的存储目录 logging.file.path: D:/templogging:file:path: D:/temp运行程序,日志就会被保存到设置的磁盘目录下,但是这种方式只能设置日志的路径,文件名固定为spring.log 注意: logging.file.name 和 logging.file.path 两个都配置的情况下,只生效其⼀,以 logging.file.name 为准 配置日志文件分割 如果我们的日志都放在⼀个文件中,随着项目的运行,日志文件会越来越大,需要对日志文件进行分割,当然,如果我们不对它进行配置,系统就会让它走默认配置,即超过10MB就进行分割 配置项说明默认值logging.logback.rollingpolicy.file-name-pattern⽇志分割后的⽂件名格式${LOG_FILE}.%d{yyyy-MM-dd}.%i.gzlogging.logback.rollingpolicy.max-file-size日志文件超过这个大小就自动分割10MBProperties配置: logging.logback.rollingpolicy.file-name-pattern${LOG_FILE}.%d{yyyy-MM-dd}.%i logging.logback.rollingpolicy.max-file-size1KByml配置: logging:logback:rollingpolicy:max-file-size: 1KBfile-name-pattern: ${LOG_FILE}.%d{yyyy-MM-dd}.%i运行项目,多打印一些日志,得到以下结果: 更简单的日志输出 添加lombok框架支持使用 slf4j 注解输出日志 添加lombok依赖 dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency日志输出 lombok提供的 Slf4j 会帮我们提供⼀个日志对象log,我们直接使用就可以 package com.example.demo;import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; Slf4j RestController public class LogController {RequestMapping(/info)public void log(){log.info(info);} }
http://www.hkea.cn/news/14319029/

相关文章:

  • 苏州行业网站建设旅游网站html5代码模板
  • 网站运营学习网站规划书包括哪些方面
  • 宁波网站关键词优化代码网站建设承揽合同
  • ftp上传网站全教程凡科做的网站为什么打不开
  • 阅读网站怎样做千博医院网站模板
  • 宁波网站制作出售wordpress更改主站点
  • 北京网站优化软件公司网站套餐网页
  • 网站信息化建设方案wordpress add post meta
  • 外贸出口建站做网站的商家怎么后去流量费
  • php语言 电商网站建设网页设计与制作ppt课件
  • 外贸石材网站wordpress 图像主题
  • 华为商城网站设计分析wordpress自带的邮件系统
  • 织梦cms通用蓝白简介大气企业网站环保科技公司源码免费建站哪个网站最好
  • 衡水网站建设找谁店铺设计理念怎么写
  • 网站首页被降权的原因好的模板网站建设
  • 建网站需要多少钱和什么条件有关wordpress migrate.min.js是什么
  • 中国做爰网站个人小程序源码
  • 医院网站建设台账网站 网址 域名
  • 中国银行全球门户网站用织梦网站后台发布文章为什么还需要审核
  • 网站运营的发展方向江苏建设外贸公司网站
  • 网站插件代码怎么用教育网站建设平台
  • 传媒公司有哪些搜索引擎优化的方法与技巧
  • 邢台网站建设的地方建站产品
  • 东莞做公众号的网站济南网站制作多少钱一个
  • 创业做网站还是软件好ulysses wordpress
  • 网站建设费要摊销外贸局
  • 手机wap网站开发的cms系统联系导师邮件模板
  • 庆安建设局网站大型门户网站建设效果
  • 惠州网站建设 英语6wordpress关闭评论审核
  • 佛山哪家公司建设网站国外网站在国内做节点