로그 자원 번들 및 메시지 파일 작성

내부 WebSphere® Application Server 로그에 기록된 메시지를 표시하기 위해 다른 프로세스로 전달할 수 있습니다. 서버 프로세스가 아닌 다른 위치에서 실행할 수 있는 관리 콘솔에 표시되는 메시지는 동적 바인딩 프로세스를 사용하여 로컬화할 수 있습니다. 동적 바인딩은 메시지가 로그될 때 WebSphere Application Server가 메시지를 로컬화하지 않고 메시지를 표시하는 프로세스에 대한 로컬화를 지연함을 의미합니다.

이 태스크 정보

메시지를 허용하는 모든 메소드는 해당 메시지를 로컬화합니다. 로컬화된 메시지를 제공하기 위한 메커니즘은 IBM® Developer Kit, Java™ Technology Edition에서 제공하는 자원 번들 지원입니다. Developer Kit을 구현한 자원 번들에 대해 잘 알지 못하는 경우 다양한 텍스트로부터 또는 java.util.ResourceBundle, java.util.ListResourceBundle 및 java.util.PropertyResourceBundle 클래스에 대한 API 문서를 읽어 자세한 정보를 얻을 수 있습니다.

PropertyResourceBundle 클래스가 사용에 선호되는 메커니즘입니다.

메시지를 올바르게 로컬화하려면 표시 프로세스에 메시지 텍스트가 저장되는 자원 번들에 대한 액세스 권한이 있어야 합니다. 애플리케이션과는 별도로 자원 번들을 패키지화하고 보기 프로세스가 액세스할 수 있는 위치에 이를 설치해야 합니다.

기본적으로 WebSphere Application Server 런타임은 메시지가 로그될 때 모든 메시지를 로컬화합니다. 이 로컬화를 통해 다른 위치에서 로컬화해야 하는 경우가 아니라면 .jar 파일을 애플리케이션에 전달하지 않아도 됩니다. 그러나 정적 바인딩 기술을 사용하여 메시지가 로그될 때 메시지를 로컬화할 수 있습니다. 정적 바인딩을 사용하는 애플리케이션은 메시지를 로깅하기 전에 로컬화해야 합니다. 애플리케이션은 자원 번들에서 로컬화된 텍스트를 검색하고 메시지를 형식화합니다. 애플리케이션 자원 번들과 애플리케이션을 패키지화하려면 정적 바인딩 기술을 사용하십시오.

자원 번들을 작성하려면 다음 단계를 수행하십시오.

프로시저

  1. 메시지 키 및 그에 해당하는 메시지를 나열하는 텍스트 특성 파일을 작성하십시오. 특성 파일에는 다음 특성이 있어야 합니다.
    • 파일의 각 특성은 행 종료 문자로 종료됩니다.
    • 행에 공백 문자만 있거나 행의 첫 번째 비공백 문자가 파운드 부호 기호(#) 또는 느낌표(!)인 경우, 이 행은 무시됩니다. 따라서 #! 문자는 파일에 주석을 삽입할 때 사용할 수 있습니다.
    • 주석이거나 공백만으로 이루어지지 않은 경우, 파일의 각 행은 단일 특성을 표시합니다. 백슬래시(\)는 행 연속 문자로 처리됩니다.
    • 특성 파일의 구문은 키, 구분 기호 및 요소로 구성됩니다. 유효한 구분 기호에는 등호(=), 콜론(:) 및 공백( ) 등이 있습니다.
    • 키는 첫 번째 비공백 문자에서 첫 번째 구분 기호까지 행에 있는 모든 문자로 구성됩니다. 구분 기호 문자를 백슬래시(\)로 이스케이프하여 키에 포함시킬 수 있지만 문자를 이스케이프하면 오류가 발생하기 쉽고 복잡하기 때문에 이 프로세스를 실행하는 것은 권장되지 않습니다. 대신 특성 파일의 어떤 키에도 표시되지 않는 유효한 구분 기호 문자를 사용하십시오.
    • 첫 번째 비공백 문자가 나타날 때까지 키 및 구분 기호 뒤 공백은 무시됩니다. 행 종료 문자 앞의 모든 문자는 요소를 정의합니다.

    특성 파일의 구문 및 구성에 대한 전체 설명은 java.util.Properties 클래스에 대한 Java 문서를 참조하십시오.

  2. 언어별 파일 이름이 있는 로컬화된 파일 버전으로 파일을 변환하십시오. 예를 들어, DefaultMessages.properties라는 이름의 파일은 독일어의 경우 DefaultMessages_de.properties 로, 일본어의 경우 DefaultMessages_ja.properties로 변환될 수 있습니다.
  3. 변환된 자원 번들이 사용 가능하면 이 번들을 애플리케이션 클래스 경로의 일부인 디렉토리에 넣으십시오.
  4. 로그 관리자로부터 메시지 로거를 얻은 경우 이 로거가 특정 자원 번들을 사용하도록 구성하십시오. 로거 API로 로그되는 메시지는 메시지 로컬화가 수행될 때 이 자원 번들을 사용합니다. 런타임 시, 사용자 로케일 설정은 메시지가 올바른 언어로 전달되는지 확인하여 메시지 키로 지정되는 메시지를 추출할 특성 파일을 판별합니다.
  5. 메시지 로거 msg 메소드가 호출되면 자원 번들 이름을 명시적으로 제공해야 합니다.

여러 가지 방법으로 자원 번들을 작성할 수 있습니다. 가장 바람직하고 쉬운 방법은 특성 자원 번들을 지원하는 특성 파일을 작성하는 것입니다. 이 예는 그러한 특성 파일을 작성하는 방법을 보여줍니다.

이 샘플의 경우, 네 개의 자국어 메시지가 제공됩니다. 특성 파일이 작성되고 키 값 쌍이 삽입됩니다. 일반적인 모든 특성 파일 규약 및 규칙이 이 파일에 적용됩니다. 또한 작성자는 Java MessageFormat 클래스에 의해 값에 부과되는 다른 제한사항에 대해서 알고 있어야 합니다. 예를 들어, 어포스트로피는 이스케이프되어야 하고 그렇지 않으면 문제점이 발생합니다. 이식 불가능한 문자의 사용을 피하십시오. WebSphere Application Server는 MessageFormat 클래스가 지원하는 확장된 형식화 규약(예: {1, date} 또는 {0,number, integer})의 사용을 지원하지 않습니다.

이 자원 번들을 사용하는 애플리케이션의 기본 디렉토리가 baseDir이고 이 디렉토리가 클래스 경로에 있다고 가정합니다. 특성 파일이 클래스 경로에 있지 않은 하위 디렉토리 baseDir(예: baseDir/subDir1/subDir2/resources)에 저장되어 있다고 가정합니다. 메시지 파일을 해석할 수 있도록 subDir1.subDir2.resources.DefaultMessage 이름이 특성 자원 번들을 식별하는 데 사용되고 메시지 로거로 전달됩니다.

이 샘플의 경우, 특성 파일은 DefaultMessages.properties로 이름 지정됩니다.

# Contents of the DefaultMessages.properties file 
MSG_KEY_00=A message with no substitution parameters. 
MSG_KEY_01=A message with one substitution parameter: parm1={0} 
MSG_KEY_02=A message with two substitution parameters: parm1={0}, parm2 = {1} 
MSG_KEY_03=A message with three parameter: parm1={0}, parm2 = {1}, parm3={2} 

DefaultMessages.properties 파일이 작성되면 로컬화된 버전이 생성되는 번역 센터로 파일을 전송할 수 있습니다.

다음에 수행할 작업

애플리케이션은 클래스 경로에서 디렉토리의 상대적인 파일 위치에 따라 자원 번들을 찾습니다. 예를 들어, DefaultMessages.properties 특성 자원 번들이 baseDir/subDir1/subDir2/resources 디렉토리에 있고 baseDir이 클래스 경로에 있는 경우 자원 번들을 식별하기 위해 이름 subdir1.subdir2.resources.DefaultMessage가 메시지 로거에 전달됩니다.

주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=ttrb_logresourcebun
파일 이름:ttrb_logresourcebun.html