目前比较常用的有以下几种日志框架
JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j....
其中SpringBoot主要是使用 SLF4j和logback框架
如何在系统中使用SLF4j可以参考官网: https://www.slf4j.org
使用示例:
1.默认配置
SpringBoot默认帮我们配置好了日志,只要在需要打印日志的类里进行打印信息即可;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.xml.bind.annotation.XmlEnumValue;
@Controller
public class HellController {
Logger logger=LoggerFactory.getLogger(getClass());//记录器
@ResponseBody
@RequestMapping("/hello")
public String hello(){
//日志级别由低到高
logger.trace("这是trace日志。。。");
logger.debug("这是debug日志。。。");
//SpringBoot默认给我们使用的是info级别的,没有指定级别的就用SpringBoot默认规定的级别;root级别
logger.info("这是info日志。。。");
logger.warn("这是warn日志。。。。");
logger.error("这是error日志。。。。");
return "helloWorld from Spring boot !!!!!"+name;
}
2.SpringBoot修改日志的默认配置
在配置文件application.properties 中配置信息
#指定com.atguigu.springboot包下所有类打印trace级别的日志
logging.level.com.atguigu.springboot=trace
#可以指定完整的日志文件存放路径;
logging.file.name=/home/zwj/test/log/springboot.log
#logging.file.name=E:/JAVA学习资料/test/springboot.log
#在当前磁盘的根路径下创建spring文件夹和里面的log文件夹;使用 spring.log 作为默认文件
#logging.file.path==/spring/log
#在控制台输出的日志的格式
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80} -%msg%n
#指定文件中日志输出的格式
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} === [%thread] === %-5level === %logger{80} ==== %msg%n
日志输出格式:
%d表示日期时间,
%thread表示线程名,
%‐5level:级别从左显示5个字符宽度
%logger{80} 表示logger名字最长80个字符,否则按照句点分割。
%msg:日志消息,
%n是换行符
3.测试结果
打包后启动应用
nohup java -jar spring-boot-01-hellworld-quick-0.0.1-SNAPSHOT.jar &tail -f nohup.out
访问测试应用

查看后台打印的日志:/home/zwj/test/log/springboot.log


1758

被折叠的 条评论
为什么被折叠?



