springboot +logback+阿里数据源(druid)打印sql日志以及简化日志输出方式 | 您所在的位置:网站首页 › 怎么在控制台打印日志 › springboot +logback+阿里数据源(druid)打印sql日志以及简化日志输出方式 |
1、基本介绍
默认情况下,Spring Boot项目就会用Logback来记录日志,并用INFO级别输出到控制台。如下图: 日志级别从低到高分为: TRACE < DEBUG < INFO < WARN < ERROR < FATAL只能展示 大于或等于 设置的日志级别的日志;也就是说springboot默认级别为INFO,那么在控制台展示的日志级别只有INFO 、WARN、ERROR、FATAL 2、logback.xml日志文件配置根据不同的日志系统,你可以按如下规则组织配置文件名,就能被正确加载: Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy Log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml Log4j2:log4j2-spring.xml, log4j2.xml JDK (Java Util Logging):logging.properties Spring Boot官方推荐优先使用带有 -spring 的文件名作为你的日志配置(如使用 logback-spring.xml ,而不是logback.xml),命名为logback-spring.xml的日志配置文件,spring boot可以为它添加一些spring boot特有的配置项(下面会提到)。 默认的命名规则,并且放在 src/main/resources 下如果你即想完全掌控日志配置,但又不想用logback.xml作为Logback配置的名字,application.yml可以通过logging.config属性指定自定义的名字: logging: config: classpath:logback-spring.xml这里写代码片虽然一般并不需要改变配置文件的名字,但是如果你想针对不同运行时Profile使用不同的日志配置,这个功能会很有用。 比较蠢的方法是直接把logback-spring.xml文件中的root标签的level属性改为DEBUG: 这个改为DEBUG则会打印最详细的日志,包括mybatis的sql语句(量太大建议开发测试时才用) 这样的话,只打印SQL语句: 之前我们大多数时候自己在每个类创建日志对象去打印信息,比较麻烦: private static final Logger logger = LoggerFactory.getLogger(YjServiceImpl.class); logger.error("xxx");现在可以直接在类上通过 @Slf4j 注解去声明式注解日志对象 先在pom.xml中添加依赖: org.projectlombok lombok 1.16.16然后就直接可以使用了: @RestController @Slf4j @RequestMapping("slf4j") public class Slf4jController { @GetMapping("test/{name}") public String testslf4j(@PathVariable("name") String name){ log.info(name+",你好,这里是测试@Slf4j"); return name+",你好,这里是测试@Slf4j"; } }使用浏览器访问:(注:使用postman测试的话,可能会乱码,大致原因已经定位到 @PathVariable注解的问题目前没找到借据方案) Spring Boot 日志配置(超详细) |
CopyRight 2018-2019 实验室设备网 版权所有 |