Moh*_*rmi 5 spring tomcat spring-boot
我已按照指南将 Spring Boot 配置为与 tomcat 一起使用:https : //www.baeldung.com/spring-boot-war-tomcat-deploy。当我从 IDE 运行应用程序时,我可以在控制台上看到所有内容,但在 tomcat 上,日志没有显示任何内容,我还配置了以下内容:
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR
Run Code Online (Sandbox Code Playgroud)
没有运气任何想法?
我的 application.properites
# ===============================
# = DATA SOURCE
# ===============================
spring.datasource.url = jdbc:mysql://...
spring.datasource.username = root
spring.datasource.password = admin
# ===============================
# = JPA / HIBERNATE
# ===============================
spring.jpa.show-sql = true
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
# ==============================================================
# = Spring Security / Queries for AuthenticationManagerBuilder
# ==============================================================
spring.queries.users-query=select email, password, active from user where email=?
spring.queries.roles-query=select u.email, r.role from user u inner join user_role ur on(u.id=ur.user_id) inner join role r on(ur.role_id=r.id) where u.email=?
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题,所以我认为如果有人遇到同样的情况,我的回答会有所帮助。
当我们创建 springboot 应用程序时,我们忘记在我们的主类中扩展SpringBootServletInitializer。没有这个,您的应用程序和 tomcat 容器之间的 servlet 上下文绑定就不会发生。这就是为什么虽然战争爆发了,但实际上并没有部署应用程序,因此没有应用程序日志。在此处找到更多详细信息https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/web/servlet/support/SpringBootServletInitializer.html
@EnableSwagger2
@SpringBootApplication
@EnableJpaRepositories("com.scn.scheduler.dal")
@EnableScheduling
public class SCNSchedulerApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SCNSchedulerApplication.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
小智 7
在您的 Spring Boot 中添加以下内容 application.properties
logging.file=../logs/mylog.log
Run Code Online (Sandbox Code Playgroud)
在应用程序属性中使用以下内容的答案是正确的:
logging.file=../logs/mylog.log
Run Code Online (Sandbox Code Playgroud)
但它没有提到为什么没有消息打印到 catalina.log 。完整的答案来自 spring boot 文档:
默认情况下,Spring Boot 只记录日志到控制台,不写入日志文件。如果除了控制台输出之外还想写入日志文件,则需要设置logging.file或logging.path属性(例如,在application.properties中)。
| 归档时间: |
|
| 查看次数: |
6799 次 |
| 最近记录: |