2011-11-07 145 views
5

我正在使用log4net记录我的asp.net应用程序。但是,当我在本地主机上运行时,日志文件运行良好。但是,当我发布到IIS时,log4net无法创建日志文件。我可以知道这是什么问题吗?我错过任何配置吗?log4net无法创建日志文件,当发布到服务器

这是我的log4net.config。

<log4net debug="true"> 
<appender name="LogFileAppender" type="log4net.Appender.FileAppender"> 
    <param name="File" value="D:\\LewreLogFile1.log"/> 
    <appendToFile value="true" /> 
    <rollingStyle value="Size" /> 
    <maxSizeRollBackups value="10" /> 
    <maximumFileSize value="10MB" /> 
    <staticLogFileName value="true" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" /> 
    </layout> 
</appender> 
<logger name="File"> 
    <level value="All" /> 
</logger> 
<root> 
    <level value="All" /> 
    <appender-ref ref="LogFileAppender" /> 
</root> 

和我的Global.asax

void Application_Start(object sender, EventArgs e) 
    { 
     string l4net = Server.MapPath("~/log4Net.config"); 
     log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(l4net)); 

    } 
+1

最有可能的是,IIS帐户不具有写入D所需的权限D:\ – stuartd

+0

http://stackoverflow.com/questions/6903422/log4net-rollingfileappender-and-iis-7-5/6903701#6903701 –

+0

谢谢。我已经解决了这个问题 – user998405

回答

5

你必须给IIS允许做IO。更改您的应用程序池标识或为其尝试访问的文件系统授予IUSR权限。

+0

嗨,谢谢。你帮我很多:) – user998405