CSharp - C# log4net日志记录没有创建日志文件

  显示原文与译文双语对照的内容

我不确定这是否是发布这个问题的合适的论坛。 但是我只希望这里有人能在过去使用 log4net,所以希望获得一些帮助。

我正在使用log4net记录我的异常。 配置设置如下所示:


<?xml version="1.0" encoding="utf-8"?>


<configuration>


 <configSections>


 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>


 </configSections>


 <log4net debug="false">


 <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">


 <file value="C:Logssample.log"/>


 <appendToFile value="true"/>


 <rollingStyle value="Size"/>


 <maxSizeRollBackups value="10"/>


 <maximumFileSize value="10MB"/>


 <staticLogFileName value="true"/>


 <layout type="log4net.Layout.PatternLayout">


 <conversionPattern value="%-5level %date %logger.%method[line %line] - %message%newline"/>


 </layout>


 </appender>


 <root>


 <level value="INFO"/>


 <appender-ref ref="RollingLogFileAppender"/>


 </root>


</log4net>


</configuration>



我开始将这个配置添加到 Web.Config,但是我得到了错误( 。vs studio无法找到log4net的架构"无法找到元素 log4net")的模式信息。 所以我按照这个链接( Log4Net"找不到架构信息"消息 ) 并在一个单独的xml文件中配置了我的设置:


[assembly: log4net.Config.XmlConfigurator(ConfigFile ="xmlfile.xml", Watch = true)]



在实际代码中,我放置了这一行:


public void CreateUser(String username, String password)


{


 try


 {


 log.Info("Inside createuser");


//code for creating user


 }


 catch(exception e)


 {


 log.Info("something happened in create user", e);


 }


}



问题是日志文件未被创建。 我在 C:Logs. 里面看不到任何东西任何人都能告诉我我在这里做了什么错误?

任何建议/输入都将非常有用。

谢谢大家提前。

时间: 原作者:

我无法在 Asembly.cs 中使用这里设置,而无需在 Global.asax 中将这里设置添加到Application_Start中:


log4net.Config.XmlConfigurator.Configure();



可能由于ASPNET用户没有写入 C:Logs 目录的权限而创建日志文件。 确保在你的应用程序想要创建日志文件的任何地方都给予ASPNET完全的权限。

...