我正在将站点从 IIS 6 迁移到 IIS 7,但无法查看所有日志。我的system.diagnostics配置如下:
<system.diagnostics>
<trace autoflush="true"></trace>
<sources>
<source name="Assembly1" switchValue="All">
<listeners>
<add name="DiagnosticMessageTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
traceOutputOptions="ProcessId, ThreadId, DateTime"
initializeData="E:\Inetpub\logs\App\Assembly1.log" />
</listeners>
</source>
<source name="Assembly2" switchValue="All">
<listeners>
<add name="DiagnosticMessageTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
traceOutputOptions="ProcessId, ThreadId, DateTime"
initializeData="E:\Inetpub\logs\App\Assembly2.log" />
</listeners>
</source>
<source name="Assebly3" switchValue="All">
<listeners>
<add name="DiagnosticMessageTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
traceOutputOptions="ProcessId, ThreadId, DateTime"
initializeData="E:\Inetpub\logs\App\Assembly3.log" />
</listeners>
</source>
<source name="System.ServiceModel" switchValue="All" propagateActivity="true">
<listeners>
<add name="DiagnosticMessageTraceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="E:\Inetpub\logs\App\ServiceTrace.svclog" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging" switchValue="All">
<listeners>
<add name="DiagnosticMessageTraceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="E:\Inetpub\logs\App\ServiceMessages.svclog" />
</listeners>
</source>
</sources>
<switches>
<add name="System.Net" value="Verbose" />
<add name="System.Net.Sockets" value="Verbose" />
</switches>
</system.diagnostics>
如果我使用 ASP.Net Web 服务器或本地 IIS 在本地运行应用程序,我会获取所有日志文件。将应用程序部署到 IIS 7 后,我只能获取 System.ServiceModel 日志。我已经验证该目录存在,并且我已将完全控制权授予每个人。我还重新启动了服务和站点,试图强制刷新日志。我刚刚尝试了一切方法来注销这个东西,所以我还安装了跟踪和日志记录工具角色服务。我仍然没有收到我的应用程序日志。
我还尝试了一种记录到 EventLog 而不是跟踪日志文件的实现。这也表现出相同的行为。在本地和部署到本地 IIS 时可以工作,但部署到实际服务器时则不行。我登录到应用程序日志,并在我的 IIS7 计算机上向 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application 授予完全控制权限。
看来我一定在这里遗漏了一些东西。当部署在 IIS 7 中时,我无法从这两种不同的日志记录实现中获取任何信息。我什至不确定这里有什么共同点。 EventLog.WriteEntry 和 Trace.TraceEvent 都使用 WCF 吗?
让每个人都对 E:\Inetpub\logs\App\ 具有完全访问权限
关于其他权限问题,请了解 IIS 7 对用户帐户的更改,
http://learn.iis.net/page.aspx/110/changes- Between-iis-60-and-iis-7-security/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)