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

网站建设时间广告在线设计制作

网站建设时间,广告在线设计制作,镇江网站建设价位,工作态度一、日志的作用 日志是程序的重要组成部分#xff0c;想象一下#xff0c;如果程序报错了#xff0c;不让你打开控制台看日志#xff0c;那么你能找到报错的原因吗 答案是否定的#xff0c;写程序不是买彩票#xff0c;不能完全靠猜#xff0c;因此日志对于我们来说想象一下如果程序报错了不让你打开控制台看日志那么你能找到报错的原因吗 答案是否定的写程序不是买彩票不能完全靠猜因此日志对于我们来说最主要的用途就是排除和定位问题 除了发现和定位问题之外我们还可以通过日志实现以下功能 记录用户登录日志方便分析用户是正常登录还是恶意破解用户。记录系统的操作日志方便数据恢复和定位操作人。记录程序的执行时间方便为以后优化程序提供数据支持。 以上这些都是日志提供的非常实用的功能 日志真实使用案例 关键节点上的关键数据日志记录举例例如教务系统在注册时候不止要在教务系统添加一条用户记录同时也会给论坛添加一条一模一样的用户记录这样做的目的是为了实现一次注册多处使用的目的。不需要用户在两边系统注册了等于在程序中以极低的成本实现的用户数据的同步但这样设计有一个致命的问题用户在教务系统注册信息的时候如果论坛挂了那么用户的注册行为就会失败因为用户在注册的时候需要同步注册到论坛系统但论坛现在挂了这个时候怎么办呢 最简单的解决方案教务系统在注册的时候不管论坛是否注册成功都给用户返回成功那这个时候如果论坛注册失败了怎么办非常简单如果注册失败了记录一下日志等论坛恢复正常之后把日志给论坛的管理人员让他⼿动将注册失败的用户同步到论坛系统这样就最低成本的解决了问题。这就是日志的重要作用 二、日志怎么用 Spring Boot 项目在启动的时候默认就有日志输出 以上内容就是 Spring Boot 输出的控制台日志信息。 通过上述日志信息我们能发现以下 3 个问题 Spring Boot 内置了日志框架不然也输出不了日志。默认情况下输出的日志并非是开发者定义和打印的那开发者怎么在程序中自定义打印日志呢日志默认是打印在控制台上的而控制台的日志是不能被保存的那么怎么把日志永久的保存下来呢 三、自定义日志打印 1、使用日志对象打印日志 Spring Boot自定义日志的打印 1). 在一个类中先获取到打印日志对象日志框架提供的日志对象而日志框架默认已经集成到Spring Boot 里了); 得到日志对象Logger -Logger 对象是属于 org.slf4j 包下的不要导入错包因为 Spring Boot 中内置了日志框架 Slf4j所以咱们可以直接在程序中调用 slf4j 来输出日志 2). 使用日志对象提供的方法实现日志的打印 在程序中获取日志对象需要使用日志工厂 LoggerFactory日志工厂需要将每个类的类型传递进去这样我们才知道日志的归属类才能更方便、更直观的定位到问题类 Controller ResponseBody // 非静态数据 public class UserController {// 1、先得到日志对象——来自于slf4jprivate final static Logger log LoggerFactory.getLogger(UserController.class); // 设置当前类的类型RequestMapping(/sayhi)public void sayHi() {log.trace(Im trace);log.debug(Im debug);log.info(Im info);log.warn(Im warn);log.error(Im error);} }访问 http://localhost:8080/sayhi打印日志效果展示 默认日志输出级别 当前未配置文件中的日志设置观察控制台输入的日志级别得到以下结论日志的输出级别默认是 info 常⻅的日志框架说明了解 2、日志格式说明 四、日志级别与分类 1、什么是日志级别 日志的级别就是为了筛选符合目标的日志信息的。试想一下这样的场景假设你一家 2 万人公司的老板那么每人员工的日常工作和琐碎的信息都要反馈给你吗一定不会因为你根本没有那么多经历。 于是就有了组织架构而组织架构就会分级有很多的级别设置如下图所示 有了组织架构之后就可以逐级别汇报消息了例如组员汇报给组长组长汇报给研发一组研发一组汇报给 Java 研发等等依次进行汇报。 而日志分级大概的道理也是一样的有了日志级别之后就可以过滤自已想看到的信息了比如设置日志级别为 error那么就可以只看程序的报错日志了对于普通的调试日志和业务日志就可以忽略了从而节省开发者的信息筛选时间 2、日志级别分类 trace微量少许的意思级别最低info普通的打印信息默认级别debug需要调试时候的关键信息打印warn警告不影响使用但需要注意的问题error错误信息级别较高的错误日志信息fatal致命的因为代码异常导致程序退出执行的事件 (系统输出的日志不能自定义打印) 日志级别的顺序 越往上接收到的消息就越少 3、日志使用 日志级别配置只需要在配置文件中设置 “logging.level” 配置项即可配置根路径的日志级别application.properties # 设置全局的日志级别 logging.level.roottrace# 设置局部的日志级别 logging.level.com.example.springboot_loggerwarn注意 当存在局部日志级别 和 全局的日志级别设置时当访问局部日志时使用的是局部日志级别也就是局部日志级别优先级 全局的日志级别 五、日志持久化 # 设置全局的日志级别 logging.level.rootinfo# 设置局部的日志级别 logging.level.com.example.springboot_logger.controllertrace以上的日志都是输出在控制台上的然而在生产环境上咱们需要将日志保存下来以便出现问题之后追溯问题把日志保存下来的过程就叫做持久化 **1). 在配置文件中指定日志的存储目录**当设置了保存路径之后Spring Boot 就会将控制台的日志写到相应的目录或文件下了 **2). 在配置文件中设置日志保存的名称**日志会自动进行持久化 1、配置日志文件的保存路径 错误方式logging.file.pathF:\Download ——SpringBoot会认为是一个特殊的字符而非目录所以日志持久化不会成功 ——正确设置日志路径的方式 1 # 配置日志文件的保存路径 logging.file.pathF:/Download生成一个 spring.log 文件vscode 打开 ——正确设置日志路径的方式 2 # 配置日志文件的保存路径 # logging.file.pathF:/Download logging.file.pathF:\\Download删除此文件重新运行同样会生成 spring.log 文件 2、配置日志文件的文件名 # 设置日志文件的保存名称 # 1) # logging.file.namespring_boot.log # 2) 指定目录 logging.file.nameF:\\Download\\spring_boot.log生成一个 spring_boot.log 文件 日志数据默认是追加而不是覆盖当日志数据变多也不需要设置日志大小当用满时会自动以数字 123… 分割文件 综合练习将 controller 包下 error 级别以上的日志保存到 log_all.log 下将 service 下 warn 级别以上的日志保存到 log_all.log 下 实现的关键步骤 不同包定义不同的日志级别。使用日志对象打印所有类型的日志。设置固定的日志保存文件名 六、更简单的日志输出—lombok 1、lombok 每次都使用 LoggerFactory.getLogger(xxx.class) 很繁琐且每个类都添加一遍也很麻烦这里讲一种更好用的日志输出方式使用 lombok 来更简单的输出 1). 添加 lombok 框架支持 ——添加插件 EditStarters ——使用 EditStarters 添加 lombok 2). 使用 slf4j 注解输出日志 Controller // 直接和前端交互不能用 Service ResponseBody Slf4j // 替代了 LoggerFactory.getLogger 操作 public class UserService {RequestMapping(/sayhi2)public void sayHi() {log.trace(Im trace);log.debug(Im debug);log.info(Im info);log.warn(Im warn);log.error(Im error);} }——设置日志级别配置 application.properties # 设置局部的日志级别 logging.level.com.example.springboot_logger.controllertrace——访问 http://localhost:8080/sayhi2 注意使用 Slf4j 注解在程序中使用 log 对象即可输入日志并且只能使用 log 对象才能输出这是 lombok 提供的对象名 2、lombok 原理解释 lombok 能够打印日志的密码就在 target 目录里⾯target 为项目最终执行的代码查看 target 目录如下 Java 程序的运行原理 Lombok 的作用如下图所示 3、lombok 更多注解说明 基本注解 注解作Getter动添加 getter 法Setter动添加 setter 法ToString动添加 toString 法EqualsAndHashCode动添加 equals 和 hashCode 法NoArgsConstructor动添加参构造法AllArgsConstructor动添加全属性构造法顺序按照属性的定义顺序NonNull属性不能为 nullRequiredArgsConstructor动添加必需属性的构造法final NonNull 的 属性为必需 组合注解 注解作用DataGetter Setter ToString EqualsAndHashCode RequiredArgsConstructor NoArgsConstructor 日志注解 注解作用Slf4j添加个名为 log 的志使slf4j 总结 日志是程序中的重要组成部分使用日志可以快速的发现和定位问题Spring Boot 内容了日志框架默认情况下使用的是 info 日志级别将日志输出到控制台的我们可以通过 lombok 提供的 Slf4j 注解和 log 对象快速的打印自定义日志日志包含 6 个级别 trace微量少许的意思级别最低info普通的打印信息debug需要调试时候的关键信息打印warn警告不影响使用但需要注意的问题error错误信息级别较高的错误日志信息fatal致命的因为代码异常导致程序退出执行的事件。 日志级别依次提升而日志界别越高收到的日志信息也就越少我们可以通过配置日志的保存名称或保存目录来将日志永久地保存下来
http://www.pierceye.com/news/614402/

相关文章:

  • 什么网站可以免费做视频软件网站广告推广价格
  • 网站建设手机软件黄页88收费吗
  • 郑州网站建设多少钱wordpress分享获得积分
  • 贵阳网站设计模板建设工程监理招标网站
  • 上海专业的网页设计公司百度推广优化怎么做的
  • 河南城乡建设厅网站wordpress 主题 字体
  • 网站编辑的工作内容深圳网站设计公司有哪些
  • 设计深圳网站制作网站建设及维护招聘
  • 网站开发实训新的体会wordpress防止机器人注册
  • 购买的网站如何换背景自建网站如何被百度收录
  • 国外外贸网站手机销售网站制作
  • 海外永久网站众车网是哪家公司网站
  • 上海 网站开发 兼职布吉建设网站
  • 做网站资金来源是什么wordpress模版sns
  • 聊城wap网站建设如何分析网站竞争对手
  • 卓业网站建设flash 网站 收费
  • 两学一做 答题 网站自己做网站买东西
  • 深圳哪家公司做网站好购物网站开发问题域分析
  • 简单个人网站wordpress插件查询
  • 上海做网站搜索一下马来西亚的网站建设的竞争对手的分析
  • 建站优化易下拉系统163邮箱登录注册
  • c 做网站电子商务平台中搜索词拆解包括
  • 腾讯云10g数字盘做网站够么四川省建设人才网
  • 批量 网站标题中海园林建设有限公司网站
  • 鲜花网站数据库建设免费律师咨询
  • 团队网站建设哪家便宜制作公司网站流程
  • 青龙桥网站建设企业网页是什么
  • 上海网站建设备案号怎么恢复法律咨询网站开发
  • 烟台做网站价格动力网站建设
  • 北戴河网站建设墨刀制作网页教程