阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-14 整合log4j打印日志

开发过程中调试,除了打断点就是日志。

比较low的写法,直接控制台输出。


springboot自带的日志框架。
打开父工程的pom.xml文件


鼠标右键--->选择Diagrams

图片展示的就是所有的依赖。

在右边找到 mapper-spring-boot-starter然后再继续网上找。

可以找到spring-boot-starter-logging
0
继续往上找。slf4j这就是日志框架的抽象层


我们要使用的是log4j,需要额外的引用,但是又会和这里的log4j冲突。


我们鼠标右键,把它忽略掉。但是这里的Exclude没有显示出来。

没有关系,我们来双击 spring-boot-starter-logging

复制artifactid


来看我们的文档。文档里面提供好了 排除掉的 完整代码。

相当于是把这个logging排除掉。

我们再来找依赖关系视图。logging已经找不到了。因为已经被我们剔除了


依赖发生了变化,先 maven install一下

重新运行api

控制台会显示,说缺少相应的内容。

这里也并没有显示tomcat的端口号。

整合自己的日志。

添加两个依赖,1是抽象层,2是实现层。



slf4j-log4j12内部又包含了log4j。,又在这一层进行了包装。

再来 maven install

重新运行api服务。控制台是log4j了。

log4j应该需要一个配置文件。


创建文件。

复制配置信息进来。

再来启动api服务。

控制台上方不再有警告信息


下面的展现形式,和我们之前不一样了

这样就正式启用了log4j,tomcat启动在了8088的端口上。

这是日志的表现形式

控制台上,这个其实就是他的展现形式。

每日滚动的文件,当我们一天结束后,会以天为单位进行保存。

日志保存的地址

日志名称可以自己改。

测试日志

在HelloController里面测试日志的输出。使用org.slf4j这个包下的Logger


LoggerFactory也是org.slf4j这个包下的

记录当前这个类的日志,把当前这个HelloController类当参数传进去。


这四个是最常用的日志级别。debug、info、warn、error

运行api项目

访问hello


控制台的输出。

重新改一下


重新运行并访问

日志级别改成debug,就可以输出debug级别的错误。


重启api服务。发现控制台会打印很多的调试信息。

刷新页面



把这里恢复成INFO。因为控制台如果是Debug和级别的话,输出的日志太多了,看着眼花缭乱。、




日志存在的路径下生成的日志文件。


里面有很多的日志 ,其中就包含了。我们刚才测试输出的几句日志


这样我们的Springboot就和自定义的log4j做了整合,并且注意,要整合自定义的log4j就必须把原先的starter-logging排除掉。

结束

 

posted @ 2019-12-23 23:31  高山-景行  阅读(265)  评论(0编辑  收藏  举报