В этом посте описывается, как настроить зависимости журналирования в 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; @Controller public 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 Джерома Версринга из блога Технических заметок .