今天在调试一个别人写的ASP.NET老程序,log文件怎么都写不了。web.config里的trace->listeners里有这么一行:

<remove type="System.Diagnostics.DefaultTraceListener"/>

注释掉就好了。google了一下,很多例子都是这样写的,甚至MSDN上也有这样的例子:

https://msdn.microsoft.com/en-us/library/system.diagnostics.defaulttracelistener(v=vs.71).aspx

不过这些例子都是很多年前的了。查MS关于remove的文档:

https://msdn.microsoft.com/en-us/library/w11c2b46(v=vs.110).aspx

remove的参数应该是name而不是type。把上面那行改成:

<remove name="Default" />

就好了。

或者也可以在listeners的第一行用

<clear/>

清掉所有的listener然后再添加自己的。