一。
近期自己的项目想要一个记录日志的功能,而springboot本身就内置了日志功能,然而想要输入想要的日志,并且输出到磁盘,然后按天归档,或者日志的切分什么的,自带的日志仅仅具有简单的功能,百度了一番,总结如下,适合大多数的应用场景
二。
springboot的pom文件都会引一个parent
org.springframework.boot spring-boot-starter-parent 2.0.0.RELEASE
点进去这个parent,会有一个这个dependency
org.springframework.boot spring-boot-dependencies 2.0.0.RELEASE ../../spring-boot-dependencies
再点进去就是2.0版本,所谓的它给你集成的各种包依赖,而且规定了版本号,其中有一个包如下
org.springframework.boot spring-boot-starter 2.0.0.RELEASE
再点进去
org.springframework.boot spring-boot-starter-logging 2.0.0.RELEASE compile
再点,这些都是原有的日志包,所以,不必再引依赖了,直接用就ok了,用法如下:
ch.qos.logback logback-classic 1.2.3 compile org.apache.logging.log4j log4j-to-slf4j 2.10.0 compile org.slf4j jul-to-slf4j 1.7.25 compile
============================分割线====================================
首先,官方推荐使用的xml名字的格式为:logback-spring.xml而不是logback.xml,至于为什么,因为带spring后缀的可以使用<springProfile>这个标签。
在resource下创建logback-spring.xml文件
内容如下,每行都有注释了
logback info ${CONSOLE_LOG_PATTERN} UTF-8 ${log.path}/log_debug.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ${log.path}/debug/log-debug-%d{yyyy-MM-dd}.%i.log 100MB 15 debug ACCEPT DENY ${log.path}/log_info.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ${log.path}/info/log-info-%d{yyyy-MM-dd}.%i.log 100MB 15 info ACCEPT DENY ${log.path}/log_warn.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ${log.path}/warn/log-warn-%d{yyyy-MM-dd}.%i.log 100MB 15 warn ACCEPT DENY ${log.path}/log_error.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ${log.path}/error/log-error-%d{yyyy-MM-dd}.%i.log 100MB 15 ERROR ACCEPT DENY
其中说一下,彩色日志这个东东,得下载插件才可以哦,怎么下?我不知道哈哈
然后在yml或者properties中配置
logging.config=classpath:log/logback-spring.xmllogging.path=D:/nmyslog/nmys
日志的使用方式,就跟普通使用一样,只不过,此配置配置的是不仅在控制台输出而且在磁盘上也会保留,并且info/debug/error/warn的日志都区分开了,并且按照每天做了归档
纸上得来终觉浅,绝知此事要躬行。有问题的话,欢迎交流:QQ群4060038