4.5.2. JBoss Logging Tools Internationalization 및 Localization

JBoss Logging Tools는 로그 메시지, 예외 메시지 및 일반 문자열의 국제화 및 현지화를 지원하는 Java API입니다. JBoss Logging Tools는 번역 메커니즘을 제공하는 것 외에도 각 로그 메시지에 대한 고유 식별자를 지원합니다.

국제화된 메시지 및 예외는 org.jboss.logging.annotations 주석을 사용하여 주석이 추가된 인터페이스 내부에 메서드 정의로 생성됩니다. 인터페이스를 구현할 필요가 없습니다. JBoss Logging Tools는 컴파일 시 이를 수행합니다. 정의되고 나면 이러한 방법을 사용하여 메시지를 기록하거나 코드에서 예외 개체를 얻을 수 있습니다.

JBoss Logging Tools로 생성된 국제화된 로깅 및 예외 인터페이스는 특정 언어 및 지역에 대한 번역이 포함된 각 번들에 대한 속성 파일을 생성하여 지역화할 수 있습니다. JBoss Logging Tools는 변환기에서 편집할 수 있는 각 번들에 대한 템플릿 속성 파일을 생성할 수 있습니다.

JBoss Logging Tools는 프로젝트에 있는 각 해당 번역 속성 파일에 대한 각 번들을 구현합니다. 번들에 정의된 메서드를 사용하고 JBoss Logging Tools를 사용하면 현재 지역 설정에 대해 올바른 구현이 호출됩니다.

메시지 ID와 프로젝트 코드는 각 로그 메시지 앞에 오는 고유한 식별자입니다. 이러한 고유 식별자를 설명서에서 사용하여 로그 메시지에 대한 정보를 쉽게 찾을 수 있습니다. 적절한 문서를 사용하면 메시지가 작성된 언어와 관계없이 로그 메시지의 의미를 식별자에서 확인할 수 있습니다.

JBoss Logging Tools에는 다음 기능을 지원합니다.

MessageLogger
org.jboss.logging.annotations 패키지의 이 인터페이스는 국제화된 로그 메시지를 정의하는 데 사용됩니다. 메시지 로거 인터페이스는 @MessageLogger로 주석이 추가됩니다.
MessageBundle
이 인터페이스를 사용하여 국제화된 메시지가 있는 일반 번역 가능한 메시지 및 예외 개체를 정의할 수 있습니다. 메시지 번들은 로그 메시지를 생성하는 데 사용되지 않습니다. 메시지 번들 인터페이스에 @MessageBundle 주석이 추가됩니다.
국제화된 로그 메시지

이러한 로그 메시지는 MessageLogger 에서 메서드를 정의하여 생성됩니다. 메서드에는 @LogMessage 및 @Message 주석을 추가해야 하며, @Message 의 value 특성을 사용하여 로그 메시지를 지정해야 합니다. 속성 파일에 번역을 제공하여 국제화된 로그 메시지가 지역화됩니다.

JBoss Logging Tools는 컴파일 시 각 번역에 필요한 로깅 클래스를 생성하고 런타임 시 현재 로케일을 위한 올바른 메서드를 호출합니다.

국제화된 예외
국제화된 예외는 MessageBundle에 정의된 메서드에서 반환된 예외 오브젝트입니다. 이러한 메시지 번들은 기본 예외 메시지를 정의하는 주석을 추가할 수 있습니다. 현재 로케일의 일치하는 속성 파일에 있는 경우 기본 메시지가 번역으로 바뀝니다. 국제화된 예외는 프로젝트 코드와 메시지 ID가 할당되어 있을 수도 있습니다.
국제화된 메시지
국제화된 메시지는 MessageBundle 에 정의된 메서드에서 반환된 문자열입니다. Java String 오브젝트를 반환하는 메시지 번들 메서드는 메시지라고 하는 해당 문자열의 기본 콘텐츠를 정의하도록 주석을 달 수 있습니다. 현재 로케일의 일치하는 속성 파일에 있는 경우 기본 메시지가 번역으로 바뀝니다.
번역 속성 파일
번역 속성 파일은 하나의 로케일, 국가 및 변형에 대한 하나의 인터페이스에서 메시지 변환을 포함하는 Java 속성 파일입니다. 번역 속성 파일은 JBoss Logging Tools에서 메시지를 반환하는 클래스를 생성하기 위해 사용됩니다.
JBoss Logging Tools 프로젝트 코드

프로젝트 코드는 메시지 그룹을 식별하는 문자열입니다. 메시지 ID 앞에 각 로그 메시지 시작 부분에 표시됩니다. 프로젝트 코드는 @MessageLogger 주석의 projectCode 특성으로 정의됩니다.

참고

새 로그 메시지 프로젝트 코드 접두사의 전체 목록은 JBoss EAP 7.4에서 사용된 프로젝트 코드를 참조하십시오.

JBoss Logging Tools 메시지 ID
메시지 ID는 프로젝트 코드와 결합될 때 로그 메시지를 고유하게 식별하는 번호입니다. 메시지 ID는 각 로그 메시지 시작 부분에 표시되며 메시지의 프로젝트 코드에 추가됩니다. 메시지 ID는 @Message 주석의 ID 특성을 사용하여 정의됩니다.

JBoss EAP와 함께 제공되는 logging-tools 빠른 시작은 JBoss Logging Tools의 많은 기능을 보여주는 간단한 Maven 프로젝트입니다. 다음 코드 예제는 logging-tools 빠른 시작에서 가져옵니다.