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 빠른 시작에서 가져옵니다.