В этом посте описывается, как настроить зависимости журналирования в Spring. Он основан на информации, доступной в посте Дэйва Сайера. Напоминание об основах ведения журналов Java доступно здесь . Пример кода доступен на GitHub в каталоге Spring-Logging-Dependencies.
Spring использует Jakarta Commons Logging API (JCL). К сожалению, многим людям не нравится его алгоритм обнаружения во время выполнения. Мы можем отключить его и использовать вместо него SLF4J с Logback. Для этого мы будем использовать вариант Spring MVC с аннотациями .
Вот модифицированный контроллер:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class MyController { private static final Logger LOG = LoggerFactory.getLogger(MyController.class); @RequestMapping(value = '/') public String home(Model model) { String s = 'Logging at: ' + System.currentTimeMillis(); LOG.info(s); model.addAttribute('LogMsg', s); return 'index'; }} |
Мы создаем регистратор SFL4J и регистрируем некоторую информацию с текущим временем в миллисекундах.
Maven-зависимости:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<properties> ... <spring.version>3.1.2.RELEASE</spring.version> <slf4j.version>1.7.1</slf4j.version> <logback.version>0.9.30</logback.version></properties><dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> <type>jar</type></dependency><dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>${slf4j.version}</version> <scope>runtime</scope></dependency><dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> <type>jar</type></dependency><dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version></dependency> |
После сборки можно начать пример с просмотра:
HTTP: // локальный: 9393 / весна-каротаж зависимости /. Будет отображаться следующее:
В журналах вы найдете записанный оператор:
Больше весенних постов здесь .
Ссылка: Настройка зависимостей ведения журнала весной от нашего партнера JCG Джерома Версринга из блога Технических заметок .
