2017-03-29 1 views
3

아래 코드 줄을 사용하여 EventViewer에서 로그를 읽습니다. 위의 코드C#에서 WMI로 이벤트 뷰어 내용을 읽을 때 문화 중립적 유형 정보를 얻는 방법

var searcher = new ManagementObjectSearcher(@"\\WS2012-DE01\root\cimv2", 
       "SELECT * FROM Win32_NTLogEvent WHERE Type ='Error'"); 

en-US 문화에서 잘 작동하지만, 다른 문화가 다른 단어로 Error을 표현되기 때문에 다른 문화에 실패합니다.

예 : 오류 de-DE 문화 (독일어)에서 단어 대해서는 2로 나타냅니다. 나는 다른 환경에서 같은 코드를 사용할 것이다. 문제를 해결할 보안 조치 때문에 한 단어 만 있거나 Translator API가 필요하지 않기 때문에 리소스 파일을 유지 관리하고 싶지 않습니다. 아무도 나에게 해결책을 제공해 줄 수는 없을 것이다.

답변

2

는 내부 형 ID로 이벤트 유형의 이름으로 필터링하지만, 필터링을 조회하지 마십시오

var searcher = new ManagementObjectSearcher(@"\\WS2012-DE01\root\cimv2", 
       "SELECT * FROM Win32_NTLogEvent WHERE EventType=1"); 

당신은 documentation of the WMI Win32_NTLogEvent classEventType에 대한 가능한 값의 목록을 볼 수 있습니다. EventType

  • 1 = 에러와 같은 고정 된 의미를 갖는 정수이고 동안 속성 Type는 문자열이며, 현지 언어 유형을 포함

    참고

  • 2 = 경고
  • 3 = 정보
  • 4 = 보안 감사 성공
  • 5 = 보안 감사 실패
관련 문제