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

8/3/2015来源:C#应用人气:1607

(一)使用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 效果图如下

欢迎转载,但请注明出处:http://www.cnblogs.com/julyweb/,谢谢!