나는 그들이 한 줄에 표시 할 수 있도록 로거 메시지의 형식을 요구하고있다.
그들은 모두 다음 API 문서에서 example을 읽고에는 SimpleFormatter 클래스 수준의 문서에 설명 된대로 시스템 속성이나 logging.properties를 통해 구성 SimpleFormatter를 사용하는 경우.
구문이 logp 메서드 내에서 로거 클래스에 정의되어 있더라도 .properties 파일에서 로그 메시지의 형식을 재정의 할 수 있습니까?
로거가 수행하는 유일한 형식 지정은 매개 변수화 된 메시지 형식 인수의 순서입니다. 해당 형식을 변경하려면 localization 및 매개 변수화 된 로깅을 사용해야합니다. 그런 다음 각 형식의 메시지 키에 대한 형식을 변경할 수있는 다른 resource bundles (빌드 당)을 제공하여 다른 형식을 바꿀 수 있습니다. 그러나 이것은 LogRecord 메시지와 params 만 형식화합니다. 나머지는 포맷터에서 제어됩니다.
사용자 지정 포맷터를 만들고 logger.properties 파일에서이를 지정했지만 변경 사항이 표시되지 않았습니다.
logging.properties는 프로그램 방식으로 정의 된 처리기가 설정되기 전에 실행됩니다. 코드가 실행 된 후 LogManager.readConfiguration으로 전화하십시오. 설정중인 프로그램 적으로 정의 된 핸들러는 실행 취소됩니다. 그러나 재구성을 트리거하는 코드를 작성할 수 있다면 프로그래밍 방식으로 정의 된 핸들러에 포맷터를 설치하기위한 코드 만 작성하면되므로 도움이되지 않을 수 있습니다.
getRegisteredHandlers를 호출 한 다음 각 사용자 정의 포매터를 추가하는 것을 의미합니까? Logger.getLogger ("some.logger.name"). getHandlers()의 각 Handler에 대해 –
. handler.setFormatter (새 CustomFormatter()). – jmehrens