Cha*_*lah 5 java logging spring spring-mvc log4j2
我正在外部 Tomcat 服务器上部署我的 Spring Boot 应用程序。我似乎无法让我的 Eclipse 控制台显示我在代码中编写的日志消息:
private static final Logger log = LoggerFactory.getLogger(PersonServiceImpl.class);
...
log.info("Running...");
Run Code Online (Sandbox Code Playgroud)
我设法记录了所有休眠跟踪,但仍然无法显示我添加到代码中的日志消息:
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
Run Code Online (Sandbox Code Playgroud)
而且 catalina 日志文件夹不包含我需要的记录信息。
我该怎么办?
Hat*_*tim -2
我认为,您将 spring boot 应用程序部署在外部 tomcat 中,并将其打包为 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>
Run Code Online (Sandbox Code Playgroud)
以及包装价值:
<packaging>war</packaging>
Run Code Online (Sandbox Code Playgroud)
在依赖项中,如果您使用 Web starter :
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
它传递地依赖于日志记录启动器,这意味着我们只能添加启动器 Web 依赖项,而无需提供更多日志记录组件。
在 application.properties 文件中,添加以下行:
logging.level.org.springframework.web=INFO
logging.level.org.hibernate=INFO
Run Code Online (Sandbox Code Playgroud)
之后,使用 Maven,您可以输入:
mvn clean package
Run Code Online (Sandbox Code Playgroud)
并将其移至外部 tomcat :
cp target/project.war apache-tomcat-8.X.X/webapps/project.war
./apache-tomcat-8.X.X/bin/startup.sh
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3874 次 |
| 最近记录: |