Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: spring, aop, logging, performance, micrometer

Как логировать время выполнения методов в бинах Spring унифицированно?

Этот вопрос проверяет умение использовать аспекты или Spring-инструменты для измерения производительности методов.

Короткий ответ

Для логирования времени выполнения методов можно использовать Spring AOP (аннотации @Aspect, @Around) или сторонние инструменты, такие как Spring Boot Actuator и Micrometer. Это позволяет обернуть нужные методы и логировать время работы централизованно.

Длинный ответ

Способ 1: Spring AOP

  1. Подключить зависимость spring-boot-starter-aop.

  2. Создать аспект с аннотацией @Aspect.

@Aspect
@Component
public class PerformanceLogger {

    	@Around("@annotation(LogExecutionTime)")
    	public Object logTime(ProceedingJoinPoint joinPoint) throws Throwable {
        	long start = System.currentTimeMillis();
        	Object result = joinPoint.proceed();
        	long elapsed = System.currentTimeMillis() - start;
        	System.out.println("Execution of " + joinPoint.getSignature() + " took " + elapsed + " ms");
        	return result;
    	}
}
  1. Создать кастомную аннотацию @LogExecutionTime.

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface LogExecutionTime {}

Способ 2: Spring Boot Actuator + Micrometer

  • Автоматически собирает метрики.

  • Позволяет интеграцию с Prometheus, Grafana.

Когда использовать:

  • AOP — если нужна тонкая настройка и кастомные логи.

  • Micrometer — если нужна интеграция с системой мониторинга.

Вывод:
Для логирования времени выполнения лучше использовать AOP с кастомной аннотацией, если требуется контроль, или Micrometer для сбора метрик.

Уровень

  • Рейтинг:

    2

  • Сложность:

    8

Навыки

  • Java

    Java

Ключевые слова

#spring

#aop

#logging

#performance

#micrometer

Подпишись на Java Developer в телеграм