2011-08-10 8 views
5

저는 봄에 클라이언트 서버 프로그램을 운영하고 있습니다. 로깅을 위해 SLF4J + Logback을 구현하려고합니다.SLF4J를 사용하여 msg의 유형에 따라 두 개의 서로 다른 파일에 로그온하는 방법?

이제 실재는 디바이스/센서가 될 클라이언트가 쉼표로 구분 된 다양한 필드를 포함하는 문자열 형식의 데이터를 보내 게됩니다. 정확한 패턴은 deviceID, DeviceName, DeviceLocation, TimeStamp입니다. , someValue

지금은 내가 원하는 Logged에있는 메시지를 필터링하는 것입니다 deviceID를 사용하여 예를 들어, 1, indyaah, 스크랜튼, 2011-8-10 가정 할 device.log 같은 이름을 가진 파일에 전체 문자열을 작성 12 : 00 : 00,34는 device1.log 파일에 동적으로 로그인해야합니다. 그래서 어떻게 logback/janino에서 evaluateFilter를 사용할 수 있습니까?

미리 감사드립니다.

답변

6

Logback은 필요한 모든 기능을 제공합니다. SiftingAppender 및 아마도 MDC에 대해 알아야합니다.

SiftingAppender은 동질 애플릿을 여러 개 랩핑하고 사용자 정의 기준 (distriminator)을 기반으로 각 로깅 메시지 당 하나씩 선택합니다. 문서는 꽤 좋으며 몇 가지 좋은 예가 있습니다.

+0

정말 고마워요. 제가이 문제를 해결하고 정확하게 구현하는데 많은 도움을주었습니다. !! 다시 한번 감사드립니다. :) –

관련 문제