我正在使用企业库4.1,我希望为不同的事件类型创建不同的日志文件。
例如
错误事件的Error.log,警告事件的Warning.log,如何实现?
THX
答案 0 :(得分:2)
好的,首先,如果你已经安装了lib lib 4.1,你可以使用“Enterprise Libreary Configuration”应用程序来配置它。 (我真的建议使用这个应用程序)
我将假设您已经了解了Loggin应用程序块的基础知识。您需要添加到loggingConfiguration的第一件事是您想要的每个文件的侦听器。
即
<listeners>
<add name="Error Listener" fileName=".\error.log" rollSizeKB="0" timeStampPattern="yyyy-MM-dd"
rollFileExistsBehavior="Increment" rollInterval="Day" formatter="Text Formatter" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
traceOutputOptions="Timestamp" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add name="Warning Listener" fileName=".\Warning.log" rollSizeKB="0" timeStampPattern="yyyy-MM-dd" rollFileExistsBehavior="Increment" rollInterval="Day" formatter="simple Formatter" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
traceOutputOptions="Timestamp" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</listeners>
如你所见,你有两个监听器,第一个名为“Error Listener”的女巫在Error.log文件上写日志,另一个名为“Warning Listener”,她们在Warning.log文件上写日志。 / p>
下一步是添加日志类别。即:
<categorySources>
<add switchValue="All" name="Error">
<listeners>
<add name="Error Listener" />
</listeners>
</add>
<add switchValue="All" name="Warning">
<listeners>
<add name="Warning Listener" />
</listeners>
</add>
</categorySources>
正如您所看到的,类别中有一个“listeners”元素,您可以在其中添加侦听器。现在,您将日志类别映射到侦听器。
现在您要做的就是将Logger.Write方法调用为:
Logger.Write("Message","Category");