SpringBoot添加日志
一、添加日志的作用
可跟踪系统进程状态及其功能情况,报错,异常,警告等信息。对于程序猿来说,日志就是病人的状太,使其我们可以快速知晓问题大概位置或大概原因。
二、添加方式
2.1):第一种
package com.laugh.springboot_01; import java.util.logging.Logger; /*** * @Author Laugh“ * 我是官方方法 我是Jdk的亲儿子 */ public class JulMain { public static void main(String[] args) { Logger jogger = Logger.getLogger(JulMain.class.getName()); jogger.info("我是Jul"); } }
输出结果:
2.2):第二种
package com.laugh.springboot_01; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /*** * @Author Laugh“ * 我是日志方法 */ public class JulMain { public static void main(String[] args) { Logger logger = LoggerFactory.getLogger(JulMain.class); //调用 sl4j 的 info() 方法,而非调用 logback 的方法 logger.info("Hello World"); } }
pom.xml配置
<dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-console</artifactId> <version>${activemq.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency>
输出结果:
三、日志等级
序号 | 日志级别(由小到大) | 说明 |
---|---|---|
1 | trace | 追踪,指明程序运行轨迹。 |
2 | debug | 调试,实际应用中一般将其作为最低级别,而 trace 则很少使用。 |
3 | info | 输出重要的信息,使用较多。 |
4 | warn | 警告,使用较多。 |
5 | error | 错误信息,使用较多。 |
四、案例说明
package com; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class laugh { static Logger logger = LoggerFactory.getLogger(laugh.class); public static void main(String[] args) { SpringApplication.run(laugh.class, args); logger.trace("跟踪"); logger.debug("调试"); logger.info("信息"); logger.warn("警告"); logger.error("异常"); } }
输出结果:
解释:默认为info为最小输出。所以不打印trace / debug,如果想输出的话,可以在properties或者yml里面设置一下。
补充:更改打印日志等级(application.yml)
logging:
level:
com:
laugh: trace
输出结果:
五、日志输出为文件(这里只说大部分其余可查看官方文档)
5.1):配置yml文件 使用name(配置完成后,执行项目即可生成)
logging:
level:
#指定开始打印日志的文件包
com:
#设置文件日志的打印等级
laugh: trace
file:
#可以设置文件位置 与 文件名称 与 path 不可共存 位置写法:D:/IDEA/SpringBoot2/laugh.log , 如果没有设置位置,则文件生成在项目根目录
name: Laugh.log
解释:可以设置文件目录位置,如未指定日志文件位置,则日志文件生成在项目根目录处。
补充:更换日志文件路径(这样文件就会生成在D盘目录下)
logging:
level:
#指定开始打印日志的文件包
com:
#设置文件日志的打印等级
laugh: trace
file:
#可以设置文件位置 与 文件名称 与 path 不可共存 位置写法:D:/IDEA/SpringBoot2/laugh.log , 如果没有设置位置,则文件生成在项目根目录
name: D:/IDEA/SpringBoot2/laugh.log
5.2):配置yml文件 使用path(配置完成后,执行项目即可)
logging:
level:
#指定开始打印日志的文件包
com:
#设置文件日志的打印等级
laugh: trace
file:
#设置文件位置
path: D:/
解释:可以设置文件目录位置,但是不可命名,规定则是创建的文件名为 spring.log。
5.3):logging.file.name 与 logging.file.path 的使用区别
porperties写法:(需要用哪个,则注释掉另外一个)
#1. 设置日志展示等级,从最低的跟踪开始
logging.level.com.laugh: trace
#2. logging.file.name可以指定日志文件的路径与名字;
logging.file.name:D://laugh.log
#3. logging.file.path可以指定日志文件的路径,而不能指定名字;
#logging.file.path:D://
yml写法:
logging:
level:
com:
laugh: trace
file:
name: Laugh.log
#path: D:/
区别( name / path ):
1. name可以指定日志文件的路径与名字; 2. path可以指定日志文件的路径,而不能指定名字; 3. logging.file.name 和 logging.file.path 不能同时生效;
5.4):设置日志文件大小,超过大小则打包
logging:
level:
#指定开始打印日志的文件包
com:
#设置文件日志的打印等级
laugh: trace
file:
#可以设置文件位置 与 文件名称 与 path 不可共存 位置写法:D:/IDEA/SpringBoot2/laugh.log , 如果没有设置位置,则文件生成在项目根目录
name: D:/IDEA/SpringBoot2/laugh.log
#设置文件位置
#path: D:/
#可以设置文件存储大小,超过文件存储大小后,会自动压缩文件
max-size: 4KB
争取摘到月亮,即使会坠落。