[英]Error 404 on logfile endpoint when the spring boot application is deployed on Linux
我有一个为REST API编写的简单的Spring Boot应用程序。 我正在尝试使用logback将日志记录到文件中。 当应用程序在Windows计算机上的eclipse中部署时,它可以正常工作,并且我可以在/ logfile端点上看到所有日志。
当我在Linux机器上部署相同的应用程序时,将按预期方式创建和更新日志文件,但是当我尝试通过浏览器访问日志文件时,在同一端点(/ logfile)上得到404。
任何帮助都感激不尽
我的登录配置如下
的logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<logger name="org.springframework.web" level="DEBUG" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</logger>
<logger name="api.controllers" level="DEBUG" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</logger>
</configuration>
我的application.properties文件看起来像
server.contextPath=/api
#Configure Access Logs
server.tomcat.basedir=log
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%t %a "%r" %s (%D ms)
#configure other log
logging.file=log/vixenapi.log
logging.level.org.springframework.web=DEBUG
logging.level.org.springframework.boot.autoconfigure.logging=DEBUG
logging.level.org.hibernate=ERROR
#-------------------------------------
spring.jackson.serialization-inclusion=non_empty
#By Default include all properties. If a view property hasn't been set then it will be shown
spring.jackson.mapper.DEFAULT_VIEW_INCLUSION=true
日志文件将异常记录为
: Before request [uri=/com.causeway.vixen.api/logfile;client=172.16.4.56]
2017-11-16 18:29:13.662 DEBUG 1552 --- [http-nio-8080-exec-10] o.s.web.servlet.DispatcherServlet : DispatcherServlet with name 'dispatcherServlet' processing GET request for [/com.causeway.vixen.api/logfile]
2017-11-16 18:29:13.662 DEBUG 1552 --- [http-nio-8080-exec-10] o.s.web.servlet.DispatcherServlet : Last-Modified value for [/com.causeway.vixen.api/logfile] is: -1
2017-11-16 18:29:13.663 WARN 1552 --- [http-nio-8080-exec-10] o.s.w.s.r.ResourceHttpRequestHandler : Locations list is empty. No resources will be served unless a custom ResourceResolver is configured as an alternative to PathResourceResolver.
2017-11-16 18:29:13.663 DEBUG 1552 --- [http-nio-8080-exec-10] o.s.web.servlet.DispatcherServlet : Null ModelAndView returned to DispatcherServlet with name 'dispatcherServlet': assuming HandlerAdapter completed request handling
2017-11-16 18:29:13.663 DEBUG 1552 --- [http-nio-8080-exec-10] o.s.web.servlet.DispatcherServlet : Successfully completed request
2017-11-16 18:29:13.663 DEBUG 1552 --- [http-nio-8080-exec-10] o.s.w.f.CommonsRequestLoggingFilter : After request [uri=/com.causeway.vixen.api/logfile;client=172.16.4.56]
2017-11-16 18:29:13.663 DEBUG 1552 --- [http-nio-8080-exec-10] o.s.web.servlet.DispatcherServlet : DispatcherServlet with name 'dispatcherServlet' processing GET request for [/com.causeway.vixen.api/error]
2017-11-16 18:29:13.664 DEBUG 1552 --- [http-nio-8080-exec-10] s.w.s.m.m.a.RequestMappingHandlerMapping : Looking up handler method for path /error
这是我的最小示例https://github.com/spring-projects/spring-boot/files/1482233/test_api.zip
在最小示例和问题配置中, logging.file
属性的值都有尾随空格。 问题中的值为"log/vixenapi.log "
,并且应为"log/vixenapi.log"
。
您可以通过为org.springframework.boot.actuate.endpoint.mvc
启用调试日志记录来确认问题。 当日志文件不存在时, LogFileMvcEndpoint
将记录一条消息,其中包括已检查的路径:
2017-11-17 14:40:24.801 DEBUG 30140 --- [nio-8080-exec-1] o.s.b.a.endpoint.mvc.LogFileMvcEndpoint : Log file 'file [/Users/awilkinson/Downloads/test_api/log/test.log ]' does not exist
注意路径末尾的尾随空格。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.