frank oo java

我爱oo,我爱java。http://oofrank.blogchina.com

My Links

Blog统计

公告

欢迎到 oofrank@blogchina 来 QQ:421057986 email:oofrank@163.com
www.flickr.com
oofrank@flickr with my S9500

Free Download Manager
Free Download Manager

文章

收藏

相册

IT

other

存档


正在读取评论……
1、下载、安装EnterpriseLibraryJune2005.exe
2、建立c#工程 LoggingFrankTest
3、添加项目 E:\Program Files\Microsoft Enterprise Library\Src\Logging\  这是我机器上的位置
4、E:\Program Files\Microsoft Enterprise Library\Src\Configuration\
5、E:\Program Files\Microsoft Enterprise Library\Src\Common\
6、在主项目中添加E:\Program Files\Microsoft Enterprise Library\Src\Logging的引用
7、建立app.config
<configuration>
  <configSections>
    <section name="enterpriselibrary.configurationSettings" type="Microsoft.Practices.EnterpriseLibrary.Configuration.ConfigurationManagerSectionHandler, Microsoft.Practices.EnterpriseLibrary.Configuration, Version=1.0.0.0, Culture=neutral" />
  </configSections>
  <enterpriselibrary.configurationSettings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" applicationName="loggingFrankTest" xmlns="http://www.microsoft.com/practices/enterpriselibrary/08-31-2004/configuration">
  <configurationSections>
    <configurationSection name="loggingConfiguration" encrypt="false">
      <storageProvider xsi:type="XmlFileStorageProviderData" name="XML File Storage Provider" path="loggingConfiguration.config" />
      <dataTransformer xsi:type="XmlSerializerTransformerData" name="Xml Serializer Transformer">
        <includeTypes />
      </dataTransformer>
    </configurationSection>
    <configurationSection name="loggingDistributorConfiguration" encrypt="false">
      <storageProvider xsi:type="XmlFileStorageProviderData" name="XML File Storage Provider" path="loggingDistributorConfiguration.config" />
      <dataTransformer xsi:type="XmlSerializerTransformerData" name="Xml Serializer Transformer">
        <includeTypes />
      </dataTransformer>
    </configurationSection>
  </configurationSections>
  <keyAlgorithmStorageProvider xsi:nil="true" />
  <includeTypes />
</enterpriselibrary.configurationSettings>
</configuration>

8、建立loggingConfiguration.config
<?xml version="1.0" encoding="utf-8"?>
<loggingConfiguration>
  <xmlSerializerSection type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
    <enterpriseLibrary.loggingSettings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" loggingEnabled="true" tracingEnabled="true" categoryFilterMode="AllowAllExceptDenied" distributionStrategy="In Process" minimumPriority="0" name="Client Settings" xmlns="http://www.microsoft.com/practices/enterpriselibrary/08-31-2004/logging">
      <categoryFilters />
      <distributionStrategies>
        <distributionStrategy xsi:type="InProcDistributionStrategyData" name="In Process" />
      </distributionStrategies>
    </enterpriseLibrary.loggingSettings>
  </xmlSerializerSection>
</loggingConfiguration>

9、建立loggingDistributorConfiguration.config
<?xml version="1.0" encoding="utf-8"?>
<loggingDistributorConfiguration>
  <xmlSerializerSection type="Microsoft.Practices.EnterpriseLibrary.Logging.Distributor.Configuration.DistributorSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
    <enterpriseLibrary.loggingDistributorSettings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" defaultCategory="General" defaultFormatter="Text Formatter" xmlns="http://www.microsoft.com/practices/enterpriselibrary/08-31-2004/loggingdistributor">
      <sinks>
          <sink xsi:type="FlatFileSinkData" name="Flat File Sink" fileName="trace.log" header="----------------------------------------" footer="----------------------------------------" />
      </sinks>
      <categories>
        <category name="Debug">
          <destinations>
             <destination name="File File Destination" sink="Flat File Sink" format="Text Formatter" />
          </destinations>
        </category>
      </categories>
      <formatters>
        <formatter xsi:type="TextFormatterData" name="Text Formatter">
          <template><![CDATA[Timestamp: {timestamp}
Message: {message}
Category: {category}
Priority: {priority}
EventId: {eventid}
Severity: {severity}
Title:{title}
Machine: {machine}
Application Domain: {appDomain}
Process Id: {processId}
Process Name: {processName}
Win32 Thread Id: {win32ThreadId}
Thread Name: {threadName}
Extended Properties: {dictionary({key} - {value}
)}]]></template>
        </formatter>
      </formatters>
    </enterpriseLibrary.loggingDistributorSettings>
  </xmlSerializerSection>
</loggingDistributorConfiguration>

10、在form1.cs上放一个Button
private void button1_Click(object sender, System.EventArgs e)
        {
            Logger.Write("anything to log.","Debug");        
        }


11、编辑工程属性:通用属性->生成事件->生成后的命令行
copy "$(ProjectDir)loggingConfiguration.config" "$(TargetDir)" > nul
copy "$(ProjectDir)loggingDistributorConfiguration.config" "$(TargetDir)" > nul


12、执行程序
    当前目录下会建立 trace.log文件,内容如下
----------------------------------------
Timestamp: 2005-8-2 14:58:54
Message: anything to log.
Category: Debug
Priority: 0
EventId: 1
Severity: Unspecified
Title:
Machine: LITAO
Application Domain: LoggingFrankTest.exe
Process Id: 3332
Process Name: F:\dotNet\LoggingFrankTest\bin\Debug\LoggingFrankTest.exe
Win32 Thread Id: 200
Thread Name:
Extended Properties:
----------------------------------------

主要的扩展点:
     1、 <sinks>
          <sink xsi:type="FlatFileSinkData" name="Flat File Sink" fileName="trace.log" header="----------------------------------------" footer="----------------------------------------" />
      </sinks>

      可以配置更多的sink,比如MailSink,EventLogSink  等等
      也可以通过继承LogSink或实现ILogSink编写自己的sink;
      例如:
       <sinks>
          <sink xsi:type="FlatFileSinkData" name="Flat File Sink" fileName="trace.log" header="----------------------------------------" footer="----------------------------------------" />
          <sink xsi:type="EventLogSinkData" name="Event Log Sink" eventLogName="MyLogging" eventSourceName="MyApplication" />      
       </sinks>

    
     2、<category name="Debug">
          <destinations>
             <destination name="File File Destination" sink="Flat File Sink" format="Text Formatter" />
          </destinations>

      </category>
       可以配置更多的category,这样Logger.Write("anything to log.","Debug");就可以更细致的分类
       比如Logger.Write("anything to log.","Info");要配置 <category name="Info">。。。</category>
     
     3、<destination name="File File Destination" sink="Flat File Sink" format="Text Formatter" />
      <destinations>可以包含多个destination,这样就可以对一类日志以不同的方式进行记录.


      



Trackback: http://tb.donews.net/TrackBack.aspx?PostId=492180


[点击此处收藏本文]  发表于2005年08月02日 3:51 PM




正在读取评论……
大名
网址
验证码
评论