Как использовать SLF4J для входа в два разных файла в зависимости от типа сообщения ..? - PullRequest
5 голосов
/ 10 августа 2011

Весной запускаю клиент-серверную программу. я пытаюсь реализовать SLF4J + Logback для ведения журнала.

Теперь дело в том, что мой клиент (который в реальной жизни будет устройством / датчиком) будет отправлять мне данные в строковом формате, который содержит различные поля, разделенные запятой) SomeValue

Теперь я хочу отфильтровать сообщение в Logback, используя deviceID, а затем записать всю строку в файл с именем, подобным device.log. Например, 1, indyaah, Scranton, 2011-8-10 12:00:00 , 34 должен войти в файл device1.log динамически. так как я могу использовать valuFilter в logback / janino.

Заранее спасибо.

1 Ответ

6 голосов
/ 10 августа 2011

Logback предоставляет все необходимые функции из коробки.Вам нужно узнать о SiftingAppender и, вероятно, MDC .

SiftingAppender, обертывающих несколько однородных дополнений и выбирающих по одному на каждое сообщение регистрации на основе пользовательскихкритерии (называемые distriminator ).Документация довольно хорошая, и в ней есть несколько хороших примеров.

...