Web API的Log问题

时间:2023-03-08 15:36:25
Web API的Log问题

建立了一个Web API项目,在WebApiConfig.cs中已经启用了Tracing.

config.EnableSystemDiagnosticsTracing();

同时web.config中也已经配置了TextWriter.

<system.diagnostics>

<trace
autoflush="true"
indentsize="4">

<listeners>

<add
name="myListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="WebApiLog.log" />

<remove
name="Default" />

</listeners>

</trace>

</system.diagnostics>

 

然后在具体的代码中记录了Log.

Trace.WriteLine("my message");

 

可是web api被调用后却没有log文件出现,怎么回事那?

【分析】

这是因为web api网站的应用程序池账号对物理目录没有写权限,所以无法写log.

【解决方法】

Grant IIS APPPOOL\<application pool name> at least Edit permission for the web api web site's physical folder.