您可以要求Logger寫入特定類別。
下面的示例創建了2個類別 - AppOne,AppTwo。 然後我添加了兩個跟蹤偵聽器--AppOneListener(綁定到AppOne類別)和AppTwoListener(綁定到AppTwo偵聽器)。
而在源代碼中,當你想記錄時,指定類別。
Logger.Write("test 1", "AppTwo");
下面是配置: 看那categorySources部分和聽衆節。
<loggingConfiguration name="" tracingEnabled="true" defaultCategory="AppOne">
<listeners>
<add name="AppOneListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
fileName="traceAppOne.log" formatter="Text Formatter" />
<add name="AppTwoListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
fileName="traceAppTwo.log" formatter="Text Formatter" />
</listeners>
<formatters>
<add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
template="Title:{title}{newline}
App Domain: {localAppDomain}{newline}
ProcessId: {localProcessId}{newline}
Process Name: {localProcessName}{newline}
"
name="Text Formatter" />
</formatters>
<categorySources>
<add switchValue="All" name="AppOne" />
<add switchValue="All" name="AppTwo">
<listeners>
<add name="AppTwoListener" />
</listeners>
</add>
</categorySources>
<specialSources>
<allEvents switchValue="All" name="All Events" />
<notProcessed switchValue="All" name="Unprocessed Category" />
<errors switchValue="All" name="Logging Errors & Warnings" />
</specialSources>
</loggingConfiguration>
對不起,我想我沒有解釋得很清楚。我們使用事件日誌監聽器,它具有與平面文件不同的屬性。我們只想要一個聽衆。我們目前有31個應用程序使用相同的鏈接配置文件。我們不希望只有31個偵聽器,只有源名稱不同。它使配置文件變大(我們有很多其他東西在那裏)。 – 2011-02-11 06:55:05