独立配置文件

将log4net配置抽离为独立 log4net.config,不和 web.config 混杂;通过程序集特性自动加载配置。

1 创建 log4net.config

放到网站根目录

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>

  <log4net>
    <!--日志保存到txt文件-->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <!--日志根目录:网站根目录/logs-->
      <param name="File" value="logs\\" />
      <!--追加写入文件-->
      <param name="AppendToFile" value="true" />
      <!--最多保留10个备份文件-->
      <param name="MaxSizeRollBackups" value="10" />
      <!--文件名不固定,随日期生成-->
      <param name="StaticLogFileName" value="false" />
      <!--目录结构 logs/yyyy/MM/yyyy-MM-dd.log -->
      <param name="DatePattern" value="yyyy\\MM\\yyyy-MM-dd&quot;.log&quot;" />
      <!--按日期滚动日志文件-->
      <param name="RollingStyle" value="Date" />

      <!--日志输出格式-->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
      </layout>
    </appender>

    <!--根日志器,绑定输出器-->
    <root>
      <level value="ALL" />
      <appender-ref ref="RollingLogFileAppender" />
    </root>
  </log4net>
</configuration>Code language: HTML, XML (xml)

2 配置 AssemblyInfo.cs 初始化

打开项目 Properties/AssemblyInfo.cs,在文件末尾添加:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]Code language: JSON / JSON with Comments (json)
  • ConfigFile="log4net.config":指定独立配置文件路径(网站根目录)
  • Watch=true:开启热更新,修改log4net.config无需重启网站立即生效

3 页面调用代码

using log4net;

public partial class Default : System.Web.UI.Page
{
    // 创建日志实例
    public ILog log = LogManager.GetLogger("Default.aspx页面的日志器");

    protected void Page_Load(object sender, EventArgs e)
    {
        log.Info("普通日志");
        log.Error("错误日志");
        log.Debug("异常信息");
    }
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注