IntelliJ Ultimate中嵌入式Tomcat的server log文件位置在哪里?
解决Spring Boot嵌入式Tomcat日志文件位置问题
核心说明
Spring Boot的嵌入式Tomcat默认不会生成独立的catalina类日志文件,它的日志输出会和Spring Boot应用日志合并,直接输出到控制台(也就是你在IntelliJ里看到的日志内容)。
查找日志的具体方法
如果已配置日志文件输出:
检查项目的application.properties或application.yml中的logging.file.name/logging.file.path配置项,日志文件就存放在配置指定的路径下。比如配置了logging.file.name=./logs/app.log,就去项目根目录的logs文件夹找app.log。未配置日志文件输出:
默认只有控制台输出,没有物理日志文件。如果需要保存日志,直接在IntelliJ的控制台右键选择Save All to File,就能把当前控制台的日志导出成文件。强制生成嵌入式Tomcat独立日志:
如果你需要把Tomcat日志和应用日志分开,可以添加一个自定义配置类来实现:import org.apache.catalina.startup.Tomcat; import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.logging.FileHandler; import java.util.logging.Logger; import java.util.logging.SimpleFormatter; @Configuration public class TomcatLogConfig { @Bean public WebServerFactoryCustomizer<TomcatServletWebServerFactory> tomcatLogCustomizer() { return factory -> factory.addContextCustomizers(context -> { Logger tomcatLogger = Logger.getLogger("org.apache.catalina"); try { // 指定Tomcat日志文件路径和名称 FileHandler fileHandler = new FileHandler("./logs/tomcat-catalina.log", true); fileHandler.setFormatter(new SimpleFormatter()); tomcatLogger.addHandler(fileHandler); } catch (Exception e) { throw new RuntimeException("配置Tomcat日志处理器失败", e); } }); } }启动项目后,会在项目根目录的
logs文件夹下生成tomcat-catalina.log,里面就是Tomcat的独立日志内容。排查其他潜在位置:
用find命令搜索项目目录下的所有日志文件:find /你的项目绝对路径 -name "*.log"另外可以检查项目的
target文件夹,部分插件或自定义配置可能会把日志输出到这里。
内容的提问来源于stack exchange,提问作者auspicious99
相关产品推荐
相关产品推荐

