2013-10-31 6 views
2

에서는 C#으로 Windows 이벤트 로그에 문제가 발생합니다.C# 일부 문자열에서는 EventLog.WriteEntry가 실패하지만

string msgGrid = "pdtidtijejrnexhr"; 
string msgIntern = "*-* [Dt:2013-10-31 11:41:10.00][digkufdufe:{[<2013-10-31 11:41:09> {jpdriskrt01} jpdriskrt01[172.22.3.70:57010]> [pdtidhry jrnecidr]]} : {}] >>#[eydshr:(rhrdhruiweirts.hrt.krt.krtjelr.jt.jpdrtjelkrhtw.<dnjr>b__1)]>>#[jpdrtjelkrhtw]\\[pdtidtijejrnexhr]\r\n"; 

writeToEventLog(msgGrid, msgIntern, EventLogEntryType.FailureAudit); 

가 // folowing 코드 확인을 작동 : :이 folowing 코드는 이벤트 로그에 항목을 넣어 해달라고 //

public static void writeToEventLog(string msgGrid, string msgIntern, EventLogEntryType entryType) 
{ 
    string grp = "Application"; // Fixed because cant create new but happy if bellow works. 
    if (!EventLog.SourceExists(msgGrid)) { EventLog.CreateEventSource(msgGrid, grp); } 
    EventLog.WriteEntry(msgGrid, msgIntern, entryType); 
} 

writeToEventLog("t1", "t2", EventLogEntryType.FailureAudit); 

이 일부 로그 내용이나 크기에 대한 제약?

+0

예외입니까? 동일한 코드 조각을 동일한 사용자로 실행하고 있습니까? ('CreateEventSource()'는 req'd privs에서만 작동합니다.) –

+0

"fail"이라고하면 무엇을 의미합니까? –

+0

@Lynn Crumbling 아니요, 예외는 아니지만 Visual Studio 2010 C# 4.0 디버그에서 동일한 사용자로 실행됩니다. 관리자 권한으로 Visual Studio를 실행합니다. – newway

답변

0

소스 ("pdtidtijejrnexhr")는 아직 존재하지 않지만 "t1"은 코드의 다른 코드 스 니펫이 작동하는 이유입니다. 또한, 중괄호 ({})를 두 번 올려야 할 수도 있지만, 나는 그 중 하나에 긍정적이지 않습니다. (각각 {{}}).

나는 "T1"를 생각하지 않는다 기본적으로 윈도우와 함께 제공 .. 난 당신의 코드가 성공적으로 한 지점에서를 만든 것으로 의심 (당신 이 로그 메시지하지 사용 중괄호있을 때와 어쩌면 조합?)

+0

정말 성공 사례는 중괄호를 사용하지 않습니다. 다시 한번 감사드립니다. – newway