springBoot 开启默认 Log

一、说明

       springBoot 默认使用 LogBack 日志系统,如果不需要更改为其他日志系统,比如 Log4j 等,则无需多余的配置,LogBack 默认将日志打印到控制台上。

二、配置

2.1 添加 maven 依赖

       如果要使用 LogBack,原则上需要添加以下依赖,但是由于一般的 springBoot 项目都会引用 spring-boot-starter 或者 spring-boot-starter-web,而这两个依赖中都包含了对于 spring-boot-starter-logging 的依赖,所以无需额外添加依赖。

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-logging</artifactId>
</dependency>

        以下是默认配置启动下的日志显示情况

2.2 项目中打印日志

        如何在我们日常的项目中打印日志呢,使用 LoggerFactory 即可,代码如下

@Controller
public class UserController {

	private static final Logger LOGGER = LoggerFactory.getLogger(UserController.class);
	
	@Autowired
	UserService userService;

	@RequestMapping("/listUser")
	public String listUser(Model model) {
		List<User> users = userService.findAll();
		model.addAttribute("users", users);
		LOGGER.info("........................我是默认的INFO级别的日志");
		return "listUser";
	}
}

        访问请求,控制台打印出来的日志如下所示,springBoot 默认的日志级别是 INFO,设置 INFO 级别的日志所以可以显示。

2.3 存储日志文件

        如何将日志信息存储到文件?在我们的 springBoot 工程中,修改 application.properies 文件,添加以下的配置。

       下面的这两个配置不能同时存在,即只能配置一个,且 logging.file 优先级高,配置了两个标签,只有 logging.file 会生效。

# 该属性用来配置日志文件的路径
logging.path=c:/

# 该属性用来配置日志文件名,如果不配置,默认文件名为 spring.log
logging.file=springboot.log

        当只配置了 logging.path=c:/ 标签时,启动工程,会在 C 盘生成一个默认名称为 spring.log 的文件,文件的内容和控制台的内容一致。

   当只配置了 logging.file=springboot.log 标签时,启动工程,会在工程目录下生成一个 springboot.log 的配置文件

2.4 设置日志级别

       日志级别有 TRACE < DEBUG < INFO < WARN < ERROR < FATAL,且级别是逐渐提供,如果日志级别是 INFO,则意味着 TRACE DEBUG 级别的日志都看不到。

       在上面的例子中我们打印了一个 INFO 级别的日志,因为 SpringBoot 默认级别就是 INFO,如果我们改为 WARN,我们就看不到这行日志了。

       在 application.properties 中添加

logging.level.root=warn

       这里是用的 root 级别,即项目的所有日志,我们也可以使用 package 级别,即指定包下使用相应的日志级别。

       项目启动成功了,但是几乎没有内容,这是因为之前打印的日志级别都是 INFO,这里设置为 WARN,所以 INFO 级别的日志都不显示。

       这里我们可以设置 root 还是 INFO 级别,将指定包下的日志级别设置为 WARN,当发生请求时并没有打印 debug info 级别的日志。

logging.level.root=info
logging.level.com.mb.controller=warn

2.5 设置日志输出格式

        如何定制自己的日志格式呢?在 applicaiton.properties 中添加

# %d{HH:mm:ss.SSS}:日志输出时间
# %thread:输出日志的进程名字,这在Web应用以及异步任务处理中很有用
# %-5level:日志级别,并且使用5个字符靠左对齐
# %logger- :日志输出者的名字
# %msg:日志消息
# %n:平台的换行符

# logging.pattern.console 用于设定日志输出格式
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger- %msg%n 

# logging.pattern.file 用于设定输出到 log 文件的日志格式
logging.pattern.file=%d{yyyy-MM-dd HH:mm} [%thread] %-5level %logger- %msg%
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐的小三菊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值