IIS Express tracelog文件

时间:2013-07-16 12:44:27

标签: wcf iis asp.net-mvc-4 iis-express

我正在调试一个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'。

1 个答案:

答案 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