• (一)使用log4net生成日志文件


    1、引入log4net.dll

    1.1 Nuget安装 或 http://logging.apache.org/log4net/下载log4net的源代码,编译后把log4net.dll引入项目。

    2、配置log4net.config

    2.1 在Web.config文件中进行添加configSections的节点

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

    2.2 添加log4net.config(设置为始终复制到输出目录)

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <log4net>
        <!-- 信息日志类 -->
        <logger name="loginfo">
          <level value="ALL" />
          <appender-ref ref="InfoAppender" />
        </logger>
        
        <!-- 信息日志附加介质 -->
        <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
          <!-- 输出到什么目录 -->
          <param name="File" value="Log\LogInfo\" />
          <!-- 是否覆写到文件中 -->
          <param name="AppendToFile" value="true" />
          <!-- 备份文件的个数 -->
          <param name="MaxSizeRollBackups" value="50" />
          <!-- 单个日志文件最大的大小 -->
          <param name="MaxFileSize" value="10240" />
          <!-- 是否使用静态文件名 -->
          <param name="StaticLogFileName" value="false" />
          <!-- 日志文件名 -->
          <param name="DatePattern" value="yyyyMMdd&quot;.htm&quot;" />
          <param name="RollingStyle" value="Date" />
          <!-- 布局,更多参数可参照官网说明 -->
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="&lt;HR COLOR=red&gt;
              %n级别:%-5p &lt;BR&gt;
              %n时间:%d [%t] &lt;BR&gt;
              %n描述:%m &lt;BR&gt;"/>
          </layout>
        </appender>
      </log4net>
    </configuration>

    2.3 在AssemblyInfo.cs文件中指定配置log4net.config

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

    2.4 若项目为B/S结构,还需在Global.asax文件中添加如下配置

    log4net.Config.XmlConfigurator.Configure();

    3、代码使用示例

    3.1 封装工具类LogHelper

    namespace July.Demo.Win
    {
        public class LogHelper
        {
            static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
    
            public static void WriteLog(string info)
            {
                if (loginfo.IsInfoEnabled)
                {
                    loginfo.Info(info);
                }
            }
        }
    }

    3.2 使用示例

    private void Form1_Load(object sender, EventArgs e)
    {
        LogHelper.WriteLog("窗体生成");
    }

    4、运行结果

    4.1 效果图如下

  • 相关阅读:
    支持国产共享软件
    Win CE 5.0 增加电池电量显示
    [转]C# 系统应用之鼠标模拟技术及自动操作鼠标
    自己写的 读写 ini 配置文件类
    自己写的 Readini 类
    sizeof与strlen()、递归优化题解
    Git学习资源收集汇总
    好用的Google Chrome插件
    【转】C# Socket编程(5)使用TCP Socket
    【转】C# Socket编程(4)初识Socket和数据流
  • 原文地址:https://www.cnblogs.com/julyweb/p/4074715.html
Copyright © 2020-2023  润新知