我在Spring启动应用程序中遇到logfile
端点问题 - 它已经错过了。
这是我的应用程序配置:
server:
port: 8081
info:
app:
name: Foo Service
component: Foo Service
secret-message: "{cipher}a702d2b5b0c6bc2db67e7d487c6142e7c23254108503d1856ff516d0a64bbd3663a2514a86647dcf8467d042abcb8a6e"
logging:
file: "target/foo.log"
management:
context-path: "/actuator"
spring:
application:
name: "foo-service"
boot:
admin:
url: http://spring-boot-admin-url:9000
client:
health-url: http://app-url:8081/actuator/health
management-url: http://app-url:8081/actuator
service-url: http://app-url:8081
metadata:
user.name: "${security.user.name}"
user.password: "${security.user.password}"
username: "${security.user.name}"
password: "${security.user.password}"
security:
user:
name: name
password: password
弹簧启动器启动器执行器版本为1.5.2
。此外,/info
和/health
端点也可以很好地运行。
答案 0 :(得分:3)
你得到404(未找到)或401(未经授权)?如果是后者,请添加
endpoints:
logfile:
sensitive: false
否则,您可以通过将级别设置为DEBUG并搜索“logfile”来启用自动配置日志记录。这可能会为您提供一些提示,说明端点是否以及为何未启用。
logging.level.org.springframework.boot.autoconfigure.logging=DEBUG
答案 1 :(得分:2)
如果您未经授权使用401,请先阅读document。
默认情况下,所有敏感HTTP端点都是安全的 具有ACTUATOR角色的用户可以访问它们。安全性得到执行 使用标准的HttpServletRequest.isUserInRole方法。
[Tip]如果需要,请使用management.security.roles属性 不同于ACTUATOR。
如果您正在部署应用程序 防火墙,您可能更喜欢所有的执行器端点都可以 无需验证即可访问。你可以通过改变来做到这一点 management.security.enabled属性:
application.properties。
management.security.enabled =假
答案 2 :(得分:1)
如果您得到的是404,请确保按照Endpoints(日志文件)文档中的说明在application.properties中添加logging.file或logging.path属性:
返回日志文件的内容(如果已设置logging.file或logging.path属性)。支持使用HTTP Range标头来检索部分日志文件的内容。
我不明白为什么接受的答案有效,但是在大多数情况下,这就是日志文件端点给出404响应的原因。