c# - Log4net 不写入日志文件

标签 c# asp.net asp.net-mvc logging log4net

我已经如下设置了 log4net,但它没有写入文件。我已经使用断点运行应用程序来检查异常,但没有抛出异常。请帮忙 网页配置

    <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="C:\\Users\\yperez\\Desktop\\Demos\\AvatarPasswordReset\\mylogfile.txt" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="5" />
      <maximumFileSize value="10MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="INFO" />
      <appender-ref ref="FileApender" />
    </root>
  </log4net>

全局.asax

<%@ Application Language="C#" %>

void Application_Start(object sender, EventArgs e) 
{
    log4net.Config.XmlConfigurator.Configure();

}
//More empty methods below

Default.aspx

using log4net;
//Other using statements
[assembly:log4net.Config.XmlConfigurator(Watch = true)]
public partial class _Default : System.Web.UI.Page{
//More code and methods...
  public void AppendToLog(string new_password, string user_named_changed, string sent)
{
    try
    {
        string date = DateTime.Now.ToString();
        string PCUser = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
        string a = String.Format("|{0}|{1}|{2}|{3}|{4}", date, PCUser, user_named_changed, new_password, sent);

        ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
        logger.Info(a + "\r\n");
    }
    catch (Exception exc) { logger_status = exc.ToString(); }

}

最佳答案

需要指定正确的 appender 引用。它被设置为 FileAppender。应该是 RollingFileAppender。

<root>
      <level value="INFO" />
      <appender-ref ref="RollingFileAppender" />
</root>

另请注意,您可以使用 .InfoFormat 而不是单独的 string.Format() 调用。

关于c# - Log4net 不写入日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35103249/

相关文章:

c# - 使用 Telerik 组件正确部署应用程序

c# - TPL 数据流,Post() 和 SendAsync() 之间的功能区别是什么?

c# - 如果 c# 不工作,则使用测试字符串类型的对象属性

asp.net - 面包屑 SiteMapPath 和 SEO 友好的路由

jquery - Telerik 扩展 DatePicker 和 JQuery DatePicker

c# - 网络核心 : Create Generic Repository Interface Id Mapping for All Tables Auto Code Generation

c# - 使用密码 TextMode 初始化 TextBox

c# - CaSTLe Windsor - 事件处理程序的注册组件

c# - 异常 "There is no ViewData item of type ' IEnumerable<SelectListItem>"MVC

javascript - 为 EditorFor 提供 ID 属性