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

有哪些网站是提供设计图片的平面设计网上培训一般多少钱

有哪些网站是提供设计图片的,平面设计网上培训一般多少钱,制作网站时搜索图标如何做,专业 网站建设文章目录 #x1f38b;关于日志#x1f6a9;为什么要学习⽇志#x1f6a9;⽇志的⽤途#x1f6a9;日志的简单使用 #x1f384;打印⽇志#x1f6a9;程序中得到⽇志对象#x1f6a9;使⽤⽇志对象打印⽇志 #x1f38d;⽇志格式的说明#x1f6a9;⽇志级别的作用#… 文章目录 关于日志为什么要学习⽇志⽇志的⽤途日志的简单使用 打印⽇志程序中得到⽇志对象使⽤⽇志对象打印⽇志 ⽇志格式的说明⽇志级别的作用⽇志级别的分类⽇志级别的使⽤ ⽇志配置配置⽇志级别⽇志持久化配置⽇志⽂件分割配置⽇志格式 更简单的⽇志输出⭕总结 关于日志 为什么要学习⽇志 在没有学习spring时我们可能使⽤ System.out.print 来打印⽇志了.通过打印⽇志来发现和定位问题,或者根据⽇志来分析程序的运⾏过程. 在Spring的学习中,也经常根据控制台的⽇志来分析和定位问题.随着项⽬的复杂度提升,我们对⽇志的打印也有了更⾼的需求,⽽不仅仅是定位排查问题. ⽐如需要记录⼀些⽤⼾的操作记录(⼀些审计公司会要求),也可能需要使⽤⽇志来记录⽤⼾的⼀些喜好,⽇志持久化,后续进⾏数据分析等. 但是 System.out.print 不能很好的满⾜我们的需求,我们就需要使⽤⼀些专⻔⽇志框架(也就是专业的事情交给专业的⼈去做) ⽇志的⽤途 ⽇志除了发现问题,分析问题,定位问题等⽇志还有很多⽤途 系统监控 监控现在⼏乎是⼀个成熟系统的标配,我们可以通过⽇志记录这个系统的运⾏状态,每⼀个⽅法的响应时间,响应状态等,对数据进⾏分析,设置不同的规则,超过阈值时进⾏报警.⽐如统计⽇志中关键字的数量并在关键字数量达到⼀定条件时报警这也是⽇志的常⻅需求之⼀ 数据采集 数据采集是⼀个⽐较⼤的范围,采集的数据可以作⽤在很多⽅⾯,⽐如数据统计,推荐排序等. 数据统计:统计⻚⾯的浏览量(PV),访客量(UV),点击量等,根据这些数据进⾏数据分析,优化公司运营 策略推荐排序:⽬前推荐排序应⽤在各个领域,我们经常接触的各⾏各业很多也都涉及推荐排序,⽐如购物,⼴告,新闻等领域.数据采集是推荐排序⼯作中必须做的⼀环,系统通过⽇志记录⽤⼾的浏览历史,停留时⻓等,算法⼈员通过分析这些数据,训练模型,给⽤⼾做推荐. 下图中的数据源,其中⼀部分就来⾃于⽇志记录的数据 ⽇志审计 随着互联⽹的发展众多企业的关键业务越来越多的运⾏于⽹络之上.⽹络安全越来越受到⼤家的关注,系统安全也成为了项⽬中的⼀个重要环节,安全审计也是系统中⾮常重要的部分.国家的政策法规、⾏业标准等都明确对⽇志审计提出了要求.通过系统⽇志分析可以判断⼀些⾮法攻击,⾮法调⽤以 及系统处理过程中的安全隐患 ⽐如,⼤家平时都在做运营系统,其中运营⼈员在通过界⾯处理⼀些数据的时候,如果没有清楚的⽇志操作记录,⼀条数据被删除或者修改,你是⽆法找到是谁操作的但是如果你做了相应的记录该数据被谁删除或者修改就会⼀⽬了然.还有⼀些内部的违规和信息泄漏(⽐如客⼾信息被卖掉)现象出现后,如果未记录留存⽇志,为事后调查提供依据,则事后很难追查(⼀些公司查看客⼾的信息都会被记录⽇志,如果频繁查询也会报警 日志的简单使用 Spring Boot项⽬在启动的时候默认就有⽇志输出如下图所⽰: 接下来我们看一下我们自己使用System.out.print打印一个日志 RestController public class LoggerController {RequestMapping(/logger)public String logger() {System.out.println(我是日志);return 日志打印成功;} }可以看到,我们通过 System.out.print 打印的⽇志,⽐ SpringBoot 打印的⽇志缺少了很多信息. SpringBoot内置了⽇志框架 SLF4J ,我们可以直接在程序中调⽤ SLF4J来输出⽇志 打印⽇志 打印⽇志的步骤: 在程序中得到⽇志对象. 使⽤⽇志对象输出要打印的内容 程序中得到⽇志对象 在程序中获取⽇志对象需要使⽤⽇志⼯⼚LoggerFactory如下代码所⽰ private static Logger logger LoggerFactory.getLogger(类名.class);LoggerFactory.getLogger需要传递⼀个参数,标识这个⽇志的名称.这样可以更清晰的知道是哪个类输出的⽇志.当有问题时,可以更⽅便直观的定位到问题类 使用注意事项 Logger对象是属于org.slf4j包下的,不要导⼊错包. 使⽤⽇志对象打印⽇志 ⽇志对象的打印⽅法有很多种这里我们先使⽤info()⽅法来输出⽇志如下代码所⽰ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;RestController public class LoggerController {private static Logger logger LoggerFactory.getLogger(LoggerController.class);;RequestMapping(/logger)public String logger() {logger.info(我是日志);return 日志打印成功;} } 打印日志如下 ⽇志格式的说明 日志的每一项代表着什么呢 从上图可以看到⽇志输出内容元素具体如下 时间⽇期精确到毫秒 ⽇志级别ERROR,WARN, INFO,DEBUG或TRACE 进程ID 线程名 Logger名(通常使⽤源代码的类名) ⽇志内容 ⽇志级别的作用 ⽇志级别代表着⽇志信息对应问题的严重性,为了更快的筛选符合⽬标的⽇志信息. 试想⼀下这样的场景假设你是⼀家2万⼈公司的⽼板,如果每个员⼯的⽇常⼯作和琐碎的信息都要反馈给你,那你⼀定⽆暇顾及.于是就有了组织架构⽽组织架构就会分级有很多的级别设置如下图所⽰ 有了组织架构之后就可以逐级别汇报消息了,例如组员汇报给组⻓,组⻓汇报给研发⼀组,研发⼀组 汇报给Java研发,等等依次进⾏汇报. ⽇志级别⼤概是同样的道理有了⽇志级别之后就可以过滤⾃⼰想看到的信息了,⽐如只关注error级别的,就可以根据级别过滤出来error级别的⽇志信息,节约开发者的信息筛选时间 ⽇志级别的分类 ⽇志的级别从⾼到低依次为:FATAL、ERROR、WARN、INFO、DEBUG、TRACE FATAL:致命信息表⽰需要⽴即被处理的系统级错误. ERROR:错误信息,级别较⾼的错误⽇志信息,但仍然不影响系统的继续运⾏. WARN:警告信息,不影响使⽤,但需要注意的问题 INFO:普通信息,⽤于记录应⽤程序正常运⾏时的⼀些信息,例如系统启动完成、请求处理完成等. DEBUG:调试信息,需要调试时候的关键信息打印. TRACE:追踪信息,⽐DEBUG更细粒度的信息事件(除⾮有特殊⽤意否则请使⽤DEBUG级别替代) 这里需要注意一点⽇志级别通常和测试⼈员的Bug级别没有关系. ⽇志级别是开发⼈员设置的,⽤来给开发⼈员看的.⽇志级别的正确设置,也与开发⼈员的⼯作经验有关.如果开发⼈员把error级别的⽇志设置成了info,就很有可能会影响开发⼈员对项⽬运⾏情况的判断.出现error级别的⽇志信息较多时,可能也没有任何问题.测试的bug级别更多是依据现象和影响范 围来判断 ⽇志级别的顺序如下图所示 级别越⾼,收到的消息越少 ⽇志级别的使⽤ ⽇志级别是开发⼈员⾃⼰设置的.开发⼈员根据⾃⼰的理解来判断该信息的重要程度 针对这些级别,Logger对象分别提供了对应的⽅法,来输出⽇志 PostConstruct public String printLog() {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. ⽇志配置 上述讲的是⽇志的使⽤,⽇志框架还⽀持我们更灵活的输出⽇志,包括内容,格式等 配置⽇志级别 ⽇志级别配置只需要在配置⽂ 件中设置logging.level配置项即可我们将默认输出级别改为debug 如下所⽰ logging:level:root: debug我们再次进行打印看一看效果 ⽇志持久化 以上的⽇志都是输出在控制台上的,然⽽在线上环境中,我们需要把⽇志保存下来,以便出现问题之后追溯问题.把⽇志保存下来就叫持久化.⽇志持久化有两种⽅式 配置⽇志⽂件名 配置⽇志的存储⽬录 配置文件文件名如下 后⾯可以跟绝对路径或者相对路径 配置文件的储存目录如下 logging:file:path: D:/temp使用该配置会在该目录下创建一个默认的spring.log的文件储存日志 注意: logging.file.name 和 logging.file.path 两个都配置的情况下,只⽣效其⼀,以logging.file.name 为准 配置⽇志⽂件分割 如果我们的⽇志都放在⼀个⽂件中,随着项⽬的运⾏,⽇志⽂件会越来越⼤,需要对⽇志⽂件进⾏分割. 当然,⽇志框架也帮我们考虑到了这⼀点,所以如果不进⾏配置,就⾛⾃动配置。默认⽇志⽂件超过10M就进⾏分割x 配置项说明默认值logging.logback.rollingpolicy.file-name-pattern⽇志分割后的⽂件名格式${LOG_FILE}.%d{yyyy-MM-dd}.%i.gzlogging.logback.rollingpolicy.max-file-size⽇志⽂件超过这个⼤⼩就⾃动分割10MB yml配置如下 logging:file:name: D:/tmp/springboot.loglogback:rollingpolicy:max-file-size: 1KBfile-name-pattern: ${LOG_FILE}.%d{yyyy-MM-dd}.%i分割结果如下 配置⽇志格式 上面所看的配置格式都是默认的。 其实日志格式也是可以配置的。⽀持控制台和⽇志⽂件分别设置 配置项说明: %clr(表达式){颜⾊}设置输⼊⽇志的颜⾊⽀持颜⾊有以下⼏种: • blue • cyan • faint • green • magenta • red • yellow%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd’T’HH:mm:ss.SSSXXX}}⽇期和时间–精确到毫秒 %d{}⽇期 ${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd’T’HH:mm:ss.SSSXXX} ⾮空表达式,获取系统属性LOG_DATEFORMAT_PATTERN ,若属性LOG_DATEFORMAT_PATTERN 不存在则使⽤ -yyyy-MM-dd HH:mm:ss.SSSXXX 格式,系统属性可以System.getProperty(“LOG_DATEFORMAT_PATTERN”) 获取 %5p 显⽰⽇志级别ERRORMARNINFODEBUGTRACE. %t 线程名. %c 类的全限定名. %M method. %L 为⾏号.%thread 线程名称. %m 或者 %msg 显⽰输出消息. %n 换⾏符 %5 若字符⻓度⼩于5则右边⽤空格填充. %-5 若字符⻓度⼩于5则左边⽤空格填充. %.15 若字符⻓度超过15截去多余字符.%15.15 若字符⻓度⼩于15则右边⽤空格填充.若字符⻓度超过15截去多余字符 更多的说明点我查看 如果设置了颜色没有显示怎么办呢 解决方法如下 打开启动配置 添加VM options 添加VM options -Dspring.output.ansi.enabledALWAYS 重新启动程序,就发现控制台⽀持颜⾊了 更简单的⽇志输出 每次都使⽤LoggerFactory.getLogger(xxx.class)很繁琐,且每个类都添加⼀遍,lombok给我们提供了⼀种更简单的⽅式. 添加lombok框架⽀持 使⽤ slf4j 注解输出⽇志 关于lombok的的使用与安装参考博主在【JavaEEj进阶】 Spring实现留言板中对lombok的使用 lombok提供的 Slf4j 会帮我们提供⼀个⽇志对象log,我们直接使⽤就可以 实现代码如下 Slf4j RestController public class LogController {PostConstructpublic void log(){log.info(--------------我是要输出⽇志的内容----------------);} }⭕总结 ⽇志是程序中的重要组成部分使⽤⽇志可以快速的发现和定位问题Spring Boot内容了⽇志框架默认情况下使⽤的是info⽇志级别将⽇志输出到控制台的我们可以通过lombok提供的Slf4j 注解和 log 对象快速的打印⾃定义⽇志.⽇志包含6个级别,⽇志级别越⾼收到的⽇志信息也就越少我们可以通过配置⽇志的保存名称或保存⽬录来将⽇志持久化 关于《【JavaEEj进阶】 Spring实现留言板》就讲解到这儿感谢大家的支持欢迎各位留言交流以及批评指正如果文章对您有帮助或者觉得作者写的还不错可以点一下关注点赞收藏支持一下
http://www.zqtcl.cn/news/53745/

相关文章:

  • 公司网站模板免费下载磁力屋 最好用
  • 网站推广策划包含哪些内容建网站保定
  • 保定信息平台网站建设北京seo招聘网
  • 网站服务器自己做100平米全包装修价格
  • 微信推送怎么做购物网站电商网站平台建设方案
  • 珠海企业建站模板WordPress获取主题慢
  • 邹城市建设银行网站网站 营销方案
  • 盐城高端网站建设清新织梦淘宝客模板淘客网站程序源码
  • 宁波网站建设推广想注册自己的品牌怎么注册
  • 网站商城与网站区别吗南京银城建设 网站
  • 网站建设什么牌子好ace wordpress
  • 石狮app网站开发哪家好软件项目管理方案
  • 深圳市国外网站建设邢台商城类网站建设
  • 江苏建站服务网站开发技术项目说明书
  • 做网站坂田重庆长寿网站设计公司哪家好
  • wordpress 爆路径商城网站优化方案
  • 网页设计报价单模板网站优化 图片
  • 经典网站欣赏常用的搜索引擎有
  • 注册功能的网站怎么做做网站容易学吗
  • 目前网站开发趋势安徽省交通运输厅秦勤
  • 深圳企业做网站公司有哪些大连建设网站
  • 教人做甜点的网站做虚假彩票网站判几年
  • 用phpmysql做图书网站温州网站设计服务
  • 深圳网站建设哪些沈阳注册公司
  • 北京新机场建设网站网络代码怎么学
  • 做网站需要具备什么语言宁海县建设局网站下属单位
  • win2008 建立网站个人 备案 多个网站
  • 门户网站有哪几个wordpress运行慢
  • 备案网站名称有什么用做图片视频的网站有哪些
  • 宜昌做网站公司有哪些网站网站设计规划书