我正在为.Net寻找一个好的TraceListener,它支持基于大小限制滚动日志文件.
约束
csg*_*ero 32
您可以使用Microsoft.VisualBasic.Logging.FileLogTraceListener,它随.NET Framework一起提供.不要让命名空间中的VisualBasic吓到你,你只需要引用microsoft.visualbasic.dll程序集,它应该可以正常使用C#.
每当我需要进行网络跟踪时,我都会将此配置代码段保留下来.我没有必要通过在运行时添加App.config中的引用来添加显式引用VB DLL的项目.
<system.diagnostics>
<sources>
<source name="System.Net">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Http">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Sockets">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
</sources>
<switches>
<add name="System.Net" value="Verbose"/>
<add name="System.Net.Http" value="Verbose"/>
<add name="System.Net.Sockets" value="Verbose"/>
</switches>
<sharedListeners>
<add name="System.Net"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
traceOutputOptions="DateTime,ProcessId,ThreadId"
customLocation="c:\temp"
location="Custom"
logFileCreationSchedule="Daily"
baseFileName="NetworkTrace"/>
</sharedListeners>
<trace autoflush="true"/>
</system.diagnostics>
Run Code Online (Sandbox Code Playgroud)
并在运行时添加引用
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.VisualBasic" culture="neutral" publicKeyToken="b03f5f7f11d50a3a"/>
<codeBase version="10.0.0.0" href="file://C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5/Microsoft.VisualBasic.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
Run Code Online (Sandbox Code Playgroud)
我是 log4net ( http://logging.apache.org/log4net/index.html )的忠实粉丝,它非常容易配置并支持您想要的任何日志类型,但也可以编写自定义日志类型。
它还可以根据日志级别执行不同的操作。我们将所有消息记录到文本文件中,然后错误 -> 致命发送电子邮件
归档时间: |
|
查看次数: |
21807 次 |
最近记录: |