Я занимаюсь разработкой веб-приложения Java EE, работающего под управлением JBoss.
Я хочу сделать следующее:
Когда пользователь отправляет запрос http (открывая страницу или через AJAX), все журналы, связанные с этим запросом, собираются и затем сохраняются в базе данных. Под связанными я подразумеваю, что они регистрируются в процессе обработки текущего запроса. Самым сложным является сбор журналов, связанных с одним запросом.
Я искал это решение:
JBoss использует log4j для ведения журнала. Когда приложение запускается, слушатель запуска регистрирует приложение log4j, которое собирает все журналы в поле ThreadLocal. В конце обработки запроса журналы берутся из поля и сохраняются в БД.
Но, похоже, теперь приложения log4j работают в других потоках. Это делает это решение невозможным.
У вас есть идеи, как это можно сделать?
Спасибо,
Артем Б.