基于system.diagnostics Trace的日志输出
一直只使用log4net, asp.net 的 page trace。 最近SSO使用CAS发生故障,发现其log未输出到文件, 花了点时间把如下配置加在web.config 才搞定:
注意:Source的Name必须与log全名匹配, 无法同log4net一样以namespace多级自动匹配。
<system.diagnostics>
<sources>
<source name="DotNetCasClient.HttpModule" switchValue="All" switchType="System.Diagnostics.SourceSwitch">
<listeners>
<add name="xml"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add name="xml" type="System.Diagnostics.XmlWriterTraceListener" initializeData="c:\temp\Traces.svclog" />
<add name="console" type="System.Diagnostics.ConsoleTraceListener"/>
</sharedListeners>
<trace autoflush="true"/>
</system.diagnostics>
<sources>
<source name="DotNetCasClient.HttpModule" switchValue="All" switchType="System.Diagnostics.SourceSwitch">
<listeners>
<add name="xml"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add name="xml" type="System.Diagnostics.XmlWriterTraceListener" initializeData="c:\temp\Traces.svclog" />
<add name="console" type="System.Diagnostics.ConsoleTraceListener"/>
</sharedListeners>
<trace autoflush="true"/>
</system.diagnostics>