Имам проблем с 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
например, крайните точки работят добре.
Отговори:
3 за отговор № 1Получавате ли 404 (не е намерен) или 401 (неоторизиран)? Ако последният е такъв, добавете
endpoints:
logfile:
sensitive: false
В противен случай можете да разрешите регистрирането на автоконфигурацията, като зададете нивото на DEBUG и потърсете "logfile". Това може да ви даде някои съвети, ако и защо крайната точка не е активирана.
logging.level.org.springframework.boot.autoconfigure.logging=DEBUG
2 за отговор № 2
Ако получите 401 неоторизиран, моля, прочетете това документ на първо място.
По подразбиране всички чувствителни HTTP крайни точки са осигурени само така потребителите, които имат роля на ACTUATOR, могат да имат достъп до тях. Сигурността се прилага използвайки стандартния метод HttpServletRequest.isUserInRole.
[Съвет] Използвайте свойството management.security.roles, ако искате нещо различен от ACTUATOR.
Ако разгръщате приложения зад себе сиа защитна стена, може да предпочетете всички ваши крайни точки на изпълнителния механизъм да бъдат достъп, без да се изисква удостоверяване. Можете да направите това, като промените свойството management.security.enabled:
application.properties.
management.security.enabled = фалшива
0 за отговор № 3
Ако това, което получавате, е 404, не забравяйте да добавите свойство logging.file или logging.path в application.properties, както е посочено в Endpoints документация (logfile):
Връща съдържанието на регистрационния файл (ако са зададени свойства за logging.file или logging.path). Поддържа използването на заглавието на HTTP диапазона за извличане на част от съдържанието на файла на регистрационния файл.
Не разбирам защо приетият отговор работи, но за повечето случаи това е причината, поради която крайната точка на логфайла дава 404 отговор.