Ответ
Логи можно просматривать в нескольких местах в зависимости от конфигурации и используемых инструментов.
Основные источники и инструменты:
- Консоль (stdout/stderr): Прямой вывод во время запуска приложения, например, через
System.out.println()или логирование в консольный аппендер. - Файлы логов: Наиболее распространенный способ. Фреймворки логирования (Logback, Log4j2) записывают логи в файлы согласно конфигурации.
- Типичные пути:
./logs/application.log,/var/log/myapp/. - Пример конфигурации Logback (
logback.xml):<configuration> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/app.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>logs/app.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="INFO"> <appender-ref ref="FILE" /> </root> </configuration>
- Типичные пути:
- Централизованные системы мониторинга (Observability): Для распределенных систем.
- Стек ELK/EFK: Логи отправляются в Elasticsearch и визуализируются в Kibana.
- Grafana Loki + Promtail: Легковесная альтернатива ELK.
- Splunk, Datadog: Коммерческие платформы.
Для Spring Boot приложения:
- Логи по умолчанию выводятся в консоль. Файловое логирование настраивается в
application.properties:logging.file.name=myapp.log logging.level.root=INFO logging.level.org.springframework.web=DEBUG logging.level.com.mycompany=TRACE - Для просмотра логов в реальном времени из терминала можно использовать команды:
tail -f logs/app.logилиless +F logs/app.log.