newsgroups-index (beta)

Current group: microsoft.public.cn.dotnet.framework

=?Utf-8?B?RXZlbnRMb2cuV3JpdGVFbnRyeSDnmoTlpYfmgKrpl67popg=?=

=?Utf-8?B?RXZlbnRMb2cuV3JpdGVFbnRyeSDnmoTlpYfmgKrpl67popg=?=  
=?Utf-8?B?RVQyMDA1?=
 Re: EventLog.WriteEntry   
Haitian
 =?Utf-8?B?UmU6IEV2ZW50TG9nLldyaXRlRW50cnkg55qE5aWH5oCq6Zeu6aKY?=  
=?Utf-8?B?RVQyMDA1?=
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只是个类型而已。
>
   

Copyright © 2006 newsgroups-index   -   All rights reserved   -   Impressum