로그 문에 고유 한 식별자를 추가하여 모든 로그 문에 문서 (외부, 예 : 위키)를 추가 할 수 있으므로 사용자가 관련 메시지에 빠르게 액세스 할 수 있습니다 id를 사용한 문서화. 로깅 프레임 워크는 SLF4J/logback을 사용하고 싶습니다.SLF4J를 사용할 때 로그 메시지의 ID
감사 프레임 워크와 관련된 일부 비트를 제외하고는 관련 접근법에 대한 문서를 찾을 수 없었습니다.
ID 삽입에 사용할 수 있다고 생각한 마커 개념이 있거나 메시지 텍스트 자체에 ID를 추가 할 수 있습니다.
로깅 문장에 "올바른 방법"으로 ID를 추가하는 방법은 무엇입니까? 제가 생각지 못했던 가능성이 있습니까?
편집
용어 고유 한 ID은 가 로그 문 당 식별자가 있어야 상태. 현상 제 그러한 ID를 테이블/열거 형/수동으로 추가합니다. 이는 잘못 수행 될 수 있습니다. 이러한 ID는 안정적이어야하므로 문서화가 가능합니다. 그래서 ID 자체는 제가 궁금해하는 것이 아닙니다.
내 질문은 : 메시지 텍스트와 함께 로거에 ID를 푸시하는 올바른 방법은 무엇입니까? ID를 메시지 텍스트에 삽입해야합니까? 아니면 다른 가능성이 있습니까?
그래서, 기본적으로, 나는logger.info(IDMarkers.DB_CONNECTION_FAILED, "no connection to the database");
또는 대신
logger.info("[{}] no connection to the database", LogIDs.DB_CONNECTION_FAILED);
먼저 접근 ID를 보여주는하면 로깅 시스템/구성에 달려 장점이있다을 사용합니다.
어떻게 고유 한 ID를 원하십니까? 전화? 스레드로? 코드 줄로? – zenbeni
@zenbeni : 로그 문 (예 :'logger.debug ('some message text')')이 ID를 얻어야합니다. 그러한 진술은 예를 들어모든 호출에 대해 '[ID1234] 메시지 텍스트'와 같은 로그 항목. –
런타임에 실행 컨텍스트를 얻는 것은 비용이 많이 든다. http://stackoverflow.com/questions/17473148/dynamically-get-the-current-line-number 그래서 메시지에서 정적으로 수행해야한다고 생각한다. – zenbeni