[英]Spring Boot and Logging with External Tomcat
我正在外部Tomcat服务器上部署我的Spring Boot应用程序。 我似乎无法使我的eclipse控制台显示我在代码中编写的日志消息:
private static final Logger log = LoggerFactory.getLogger(PersonServiceImpl.class);
...
log.info("Running...");
我设法记录所有的休眠跟踪,但仍然无法显示我添加到我的代码中的日志消息:
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
logging.level.root=INFO
logging.level.org.springframework.web=INFO
catalina日志文件夹不包含我需要的已记录信息。
我该怎么办?
我认为,您在外部tomcat中部署Spring启动应用程序,将其打包为war文件。
您可以检查以下配置:
在你的pom.xml中
<!-- mark the embedded tomcat server as provided -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
并在包装价值:
<packaging>war</packaging>
在依赖项中,如果您使用Web启动器:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
它依赖于日志记录启动器,这意味着我们只能添加启动Web依赖性,不再需要提供日志记录组件。
在application.properties文件中,添加以下行:
logging.level.org.springframework.web=INFO
logging.level.org.hibernate=INFO
之后,使用maven,您可以输入:
mvn clean package
并将其移动到您的外部tomcat:
cp target/project.war apache-tomcat-8.X.X/webapps/project.war
./apache-tomcat-8.X.X/bin/startup.sh
请配置您的application.properties或application.yml文件
application.properties
#Logging pattern for file.
logging.pattern.file= "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
#output to a file
logging.file=/path_to_file/file_name.log
#Logging pattern for console and output.
logging.pattern.console= "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.