我正在调试一个asp.net mvc 4网站wsccc1。为了跟踪任何错误,我在web.config中设计了跟踪文件日志。我使用的是Visual Studio 2012,默认的托管服务器是IIS Express。
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5"/>
<httpRuntime targetFramework="4.5"/>
<customErrors mode="Off"></customErrors>
</system.web>
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true">
<serviceActivations>
<add factory="System.ServiceModel.Activation.WebServiceHostFactory"
relativeAddress="wscccService.svc"
service="service.wservice"/>
</serviceActivations>
<baseAddressPrefixFilters>
<add prefix="http://localhost:8080/" />
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<diagnostics>
<messageLogging logEntireMessage="true"
logMessagesAtServiceLevel="false"
logMessagesAtTransportLevel="false"
logMalformedMessages="true"
maxMessagesToLog="5000"
maxSizeOfMessageToLog="2000">
</messageLogging>
</diagnostics>
</system.serviceModel>
<system.webServer>
<validation validateIntegratedModeConfiguration="true" />
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="messagelistener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="C:\myMessages.svclog"></add>
</listeners>
</source>
</sources>
<trace autoflush="true"></trace>
</system.diagnostics>
但我在C盘中找不到任何.svclog文件。路径'C:\ Users \ hui \ Documents \ IISExpress \ TraceLogFiles \ wsccc1'中有日志文件。所有文件都以'fr'开头,例如'fr00400.xml'。 它有例外信息。
我的问题是为什么以'fr'开头?它是指法语但我在美国吗?
另外,为什么我无法生成'C:\ myMessages.svclog'。
答案 0 :(得分:2)
C:\Users\hui\Documents\IISExpress\TraceLogFiles\wsccc1
中的文件是IIS日志文件:HTTP请求网址+响应状态+时间戳+ ....此时需要HttpLoggingModule,它与WCF甚至asp.net无关。 / p>
*.svclog
是WCF跟踪文件:这通常需要编辑配置文件以启用WCF跟踪(就像您一样)。一个好的教程是here。
也是为什么我无法生成&#39; C:\ myMessages.svclog&#39;。
也许是因为安全。向C Drive上的每个人添加完全控制(不推荐)或指定公共目录(例如c:\ logs),其中每个人都可以生成跟踪日志。
修改:
为什么IIS日志文件以&#39; fr&#39;?
开头
即使我是法国人,也不是为我们制造的。 fr表示请求失败。它是IIS中的一项新功能,称为“#34;失败的请求跟踪”#34; :它旨在缓冲请求的跟踪事件,并且只有在请求失败时才将它们刷新到磁盘。解释here。