2014-11-24 54 views
2

我想在我的Windows服务中添加一个跟踪文件,但该文件从不创建。这仅适用于Web应用程序吗?在windows服务中添加跟踪文件

<?xml version="1.0"?> 
<configuration> 
    <startup> 
    <system.diagnostics> 
    <trace autoflush="true" indentsize="4"> 
    <listeners> 
     <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\Logs\application.log" /> 
     <remove name="Default" /> 
    </listeners> 
    </trace> 
    </system.diagnostics> 
    </startup> 
</configuration> 

在代码

Trace.WriteLine("Application started.", "App"); 

回答

1

显示您的配置文件是无效的。在startup element下,只允许运行时设置。

system.diagnostics直接进入了<config>元素,像这样:

<?xml version="1.0"?> 
<configuration> 
    <system.diagnostics> 
    <trace autoflush="true" indentsize="4"> 
    <listeners> 
     <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\Logs\application.log" /> 
     <remove name="Default" /> 
    </listeners> 
    </trace> 
    </system.diagnostics> 
</configuration> 

根据security context为您服务,您可能必须要登录的文件夹设置权限,你的情况c:\logs。如果Tracing不能写入该日志文件,则Tracing将悄然失败。