C#EventLog.WriteEntry对某些字符串失败但对其他字符串失败

时间:2013-10-31 14:14:44

标签: c# event-log

使用c#在Windows事件日志上写入时出现问题。

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);  
}  

//下面的代码不在事件日志中输入:

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);

//以下代码可以正常工作:

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

对日志内容或大小有一些限制吗?

1 个答案:

答案 0 :(得分:0)

看起来你的源(“pdtidtijejrnexhr”)还不存在,但是“t1”确实存在,所以这就是为什么另一段代码正在工作。此外,您可能需要加倍大括号({}),但我对此并不乐观。 (分别为{{}})。

我不认为默认情况下“t1”会附带Windows。我怀疑您的代码在某一时刻成功创建了它(可能与时使用大括号的情况相结合)记录消息?)