如何在 C# 中实现 log4net,log4net 需要什么?

how to implement log4net in c# and what is need of log4net?

我只想知道 log4net 在应用程序中的用途以及我将如何在 C# 中实现。

我完成了其中的一些研究。

public static class Logger
{
    private static log4net.ILog Log { get; set; }

    static Logger()
    {
        Log = log4net.LogManager.GetLogger(typeof(Logger));
    }

    public static void Error(object msg)
    {
        Log.Error(msg);
    }

    public static void Error(object msg, Exception ex)
    {
        Log.Error(msg, ex);
    }

    public static void Error(Exception ex)
    {
        Log.Error(ex.Message, ex);
    }

    public static void Info(object msg)
    {
        Log.Info(msg);
    }
}

}

以上只是一种在单独的文件中维护日志的方法,我只是想提前知道。

1.First 如果您还没有为 log4net.dll 添加参考。

2.Then 您必须在声明 class 声明上方添加该声明。您可以将其放在您的 using 语句下方和 class 声明之外:

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

3.The class 你已经创建了。

4.Add 将配置添加到您网站上的 configSections 标签。config/app.config:

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

这将允许您添加标签来配置您的日志。

5.Add 到您网站上的配置标签。config/app.config:

<log4net>
    <root>
      <level value="ALL" />
      <appender-ref ref="RollingFileAppender"/>
    </root>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="./Log/log.log" />
      <appendToFile value="true" />
      <rollingStyle value="Composite" />
      <datePattern value="'.'yyyy_MM_dd" />
      <maxSizeRollBackups value="30" />
      <maximumFileSize value="100MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%date{yyyy/mm/dd HH:mm:ss,fff} %-5level %logger [%thread] %message %exception%newline"/>
      </layout>
    </appender>
</log4net>

6.Then 您只需调用 Logger 上的方法 class.

如果您想了解更多信息,我建议您阅读那个人的博客 Log4Net Tutorials and Resources