 | | From: | =?Utf-8?B?RVQyMDA1?= | | Subject: | =?Utf-8?B?RXZlbnRMb2cuV3JpdGVFbnRyeSDnmoTlpYfmgKrpl67popg=?= | | Date: | Thu, 6 Jan 2005 20:07:01 -0800 |
|
|
 | 试试这段代码: System.Diagnostics.EventLog log = new System.Diagnostics.EventLog("Application", ".", "TestApp"); log.WriteEntry("'%1'", System.Diagnostics.EventLogEntryType.Information); log.Close();
然后打开 控制面板 => 管理工具 => 事件查看器 => 应用程序日志,看看写入的日志变成了什么?
应该是“'%1'”,但却是一堆很奇怪的东东:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''%1''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
测试了以下系统,安装的都是 .NET Framework 1.1 SP1,均发现有此问题。应该是 .NET Framework 的问题:
Windows 2000 Server Windows XP Profrssional SP2 Windows Server 2003
|
|
 | | From: | Haitian | | Subject: | Re: EventLog.WriteEntry | | Date: | Fri, 7 Jan 2005 12:19:53 +0800 |
|
|
 | Ӧд%1, System.Diagnostics.EventLogEntryType.InformationֻǸͶѡ
"ET2005" дϢ :BCE03901-3C39-4755-B91F-649CFA6156AD@microsoft.com... > δ룺 > System.Diagnostics.EventLog log = new > System.Diagnostics.EventLog("Application", ".", "TestApp"); > log.WriteEntry("'%1'", System.Diagnostics.EventLogEntryType.Information); > log.Close(); > > Ȼ => => ¼鿴 => Ӧó־д ־ʲô > > Ӧǡ'%1'ȴһѺֵĶ > > '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''%1'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' > > ϵͳװĶ .NET Framework 1.1 SP1д⡣Ӧ ..NET Framework ⣺ > > Windows 2000 Server > Windows XP Profrssional SP2 > Windows Server 2003 > >
|
|
 | | From: | =?Utf-8?B?RVQyMDA1?= | | Subject: | =?Utf-8?B?UmU6IEV2ZW50TG9nLldyaXRlRW50cnkg55qE5aWH5oCq6Zeu6aKY?= | | Date: | Thu, 6 Jan 2005 23:55:05 -0800 |
|
|
 | 问题不在 EventLogEntryType,而是 WriteEntry 根本就写入了错误的日志,而且还错得很离谱。本来应该是“'%1'”,却写入了“''''''''''%1''''''''''”,错误的规律是%1前面和后面的任意字符会被重复很多次。这个 %1 并不是代码的必须参数,而且即使是参数,那也应该是 {0} {1} 的格式啊。
“Haitian”编写:
> 这个代码好像就应该写上%1, 后面这个 > System.Diagnostics.EventLogEntryType.Information只是个类型而已。 >
|
|