说实话对日志这东西一直只是太肤浅的懂,就会用logger.info和logger.error输出,今天在写LemonRobot项目的时候,决定把调试信息也打出来,然后根据日志级别控制让上线的时候不显示debug级别的日志。
但是运行后发现,默认logger.debug产生的日志也没有输出到控制台,经过一番研究,是由于logback的配置问题。
在sr/main/resources文件夹中新建logback.xml,然后复制下面的配置到文件中:
logback.xml会被自动加载,如果名字不一样,我们需要在application.yml或者是application.properties中配置:
#配置日志 logging: #此处存放日志的路径 path: config: classpath:config/logback-spring.xml #指定不同目录下的日志的级别 level: com.shimain.springboot.mapper: DEBUG
%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%logger{32}] %msg%n logFile.log logFile.%d{yyyy-MM-dd_HH-mm}.log.zip %d{HH:mm:ss,SSS} [%thread] %-5level %logger{32} - %msg%n
这段配置文件可以让日志同时输出到控制台和本地文件,同时将日志文件打成zip压缩包。
如果这个时候项目上线了,不需要debug日志了,只需要修改root标签下面的level级别为INFO即可。
Tomcat Native library could not be found using names [tcnative-1, libtcnative-1]
tomcat没有找到JNI动态链接库。Apache Tomcat下是有这个dll的,但是启动时在Springboot中内嵌Tomcat下没有找到。
这是因为Tomcat中的connector为了提高性能,采用了加载与操作系统绑定(非跨平台)的本地库的方式,比如Windows系统中就是.dll动态链接库。
上述异常中找不到的两个.dll库文件,默认会去Tomcat的bin目录下去找,但是由于SpringBoot的Tomcat是嵌入式的,没有这两个.dll。
可以忽略这个报错,因此SpringBoot把这个错误的日志级别设置为debug。
如果有强迫症者,也可以按如下方式解决:
直接将tomcat下的tcnative-1.dll和libtcnative-1.dll放到C:\Windows\System32下,重新启动项目即可。
Atas ialah kandungan terperinci Springboot怎么允许logger.debug输出日志. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!