校园网站建设教程视频,怎么做一网站,宝安做棋牌网站建设找哪家效益快,广州最大网站建设日志介绍日志的使用日志级别日志持久化更简单的输入日志lombok的运行原理 日志介绍
日志的作用#xff1a; 1#xff1a;发现问题#xff1b; 2#xff1a;定位问题#xff1b; 3#xff1a;记录用户的行为#xff1a;看哪些是方法用户#xff1b;还能拿到用户的ip 1发现问题 2定位问题 3记录用户的行为看哪些是方法用户还能拿到用户的ip 如果一个ip试了很多用户和密码我就知道这个ip有问题给它拉黑。 4记录系统操作日志达到一个数据恢复的功能
spring boot的日志 spring boot内置的是日志框架SIf4j我们直接在程序调用Sif4j输出日志即可。 这个是代理日志日志经过这里然后这个代理会看适合用哪种实现就给它转过去。跟租房一样代理你找到他们把要求提出来他们就能帮你找到最合适的房子你自己去找虽然也行但是没那么容易找到合适的
日志和sout区别 这个内置的日志和idea的sout打印内容有什么区别呢能否有sout扮演这样的一个角色 看看效果没有对比就没有伤害sout虽然能解决时间和地点的问题麻烦一点但是还有其它的问题。没办法信息的筛选给你打印一堆没用的不支持持久化。
日志的使用
1得到日志对象 固定写法得是类级别的私有的每个类都有它自己的日志文件需要具体打印是哪个类的日志。静态好在方法里直接调用。不希望别人能修改 final。
2使用日志对象提供的方法打印日志。 提供很多方法级别的不同debug是调试的时候打印。这些方法都是用来打印日志的。 测试结果只打印三个不设置的话默认是info级别的。大于这个级别才能输出 解析一下注解的内容
日志级别
1DEBUG调试用于输出详细的调试信息通常只在开发和调试阶段使用。: 2INFO信息用于输出一般性的信息用于确认应用程序正常运行但不需要引起特别关注。 3WARNING警告用于输出可能会导致错误或异常情况的警告信息但不会中断应用程序的正常执行。 4ERROR错误用于输出错误信息表示应用程序遇到了可恢复的错误但该错误可能会影响应用程序的正常运行。 5CRITICAL严重用于输出严重的错误信息表示应用程序遇到了无法恢复的严重错误可能导致应用程序崩溃或不可用。 6FATAL致命的fatal我们没法操作致命只会出现在代码异常导致的错误自动帮你写的日志。 这些级别通常按照严重性递增的顺序排列
如何设置日志级别 配置文件设置logging.level配置项 我们可以针对指定目录下设置日志级别 日志持久化
日志持久化两种实现方式 1.设置的是绝对路径所以不同系统的这个路径是不同所以项目要多个配置文件是有道理的。不建议写C盘C盘要求的权限比较高但是我当前只有一个C盘取决你当前的用户有没有权限管理员。比如你跟人家共享linux云服务器你就不是管理员了。写两个斜杠比较保险有时候可能会是转义符。路径永远不要出现中文和空格避免出现不必要的麻烦事 如果是重启服务器再次生成的日志是拼接在这个文件原本的日志后面
2.不设置保存路径只设置名字会自动的把日志保存在idea的工作路径上 logging.file.namespringboot_logger.log
如果我全都要呢 这个日志保存路径是针对当前项目的不同项目的保存路径是不同的。如果两个Spring Boot项目的日志文件保存路径相同且没有设置 name 属性那么它们将共享相同的默认日志文件名。默认情况下Spring Boot 使用 “spring.log” 作为日志文件的名称。 问题日志不会消失持久化如果运行个十年八年那10g8g的。打开都困难更别说查询内容。 解决的方案可以设置最大文件大小当这个文件超过10MB就会重新建一个新的默认大小是10MB你可以自己设置。新建的会文件就在后面不是覆盖是接着往后的文件名spring1.log、spring2.log……
更简单的输入日志
如果我们使用上述的方法每个类都得重复写LoggerFactory.getLogger(xxx.class) 使用lombok更简单输出。 用注解来代替这些固定的东西。得添加lombok和lombok插件 随后就可以直接使用log对象
lombok的运行原理 编译时把注解换成对应的字节码查看方式你在target找到相应的字节码.class文件把这个字节码拖到idea就自动帮你还原会java代码 spring的注解是在运行时期才起作用的lombok的其它方法都是编译期