引用包

点击需要添加log4net项目,在线下载安装包,如下:

log4net-mvc中引用log4net-DESTLIVE

在管理器中输入log4net下载一个合适的安装包,不要下载最大的,如下:

log4net-mvc中引用log4net-DESTLIVE

安装完成之后就完成了安装,然后下面就开始配置了。

配置

整个项目有如下几个地方需要配置:
1:web.config
2:AssemblyInfo.cs
3:Global.asax

首先先配置web.config

在如下节点中增加如下信息:

log4net-mvc中引用log4net-DESTLIVE

代码如下:

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

注意,也有人插入如下代码:

<section name="log4net" type="System.Configuration.IgnoreSectionHandler" />

但是这种代码本地看起来生效,但是跑到服务器上是不生效的。

然后在configuration节点最后面添加如下脚本:

<log4net>
    <!--错误日志:::记录错误日志-->
    <!--按日期分割日志文件 一天一个-->
    <!-- appender 定义日志输出方式   将日志以回滚文件的形式写到文件中。-->
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <!--保存路径:下面路径项目启动的时候自动在C盘中创建log、logError文件-->
      <file value="log\error\"/>
      <param name="Encoding" value="utf-8" />
      <!-- 如果想在本项目中添加路径,那就直接去掉C:\\  只设置log\\LogError   项目启动中默认创建文件 -->
      <appendToFile value="true"/>
      <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
      <rollingStyle value="Date"/>
      <!--这是按日期产生文件夹-->
      <datePattern value="yyyyMMddHH'.txt'"/>
      <!--是否只写到一个文件中-->
      <staticLogFileName value="false"/>
      <!--保留的log文件数量 超过此数量后 自动删除之前的   好像只有在 按Size分割时有效 设定值value="-1"为不限文件数-->
      <param name="MaxSizeRollBackups" value="100"/>
      <!--每个文件的大小。只在混合方式与文件大小方式下使用。超出大小后在所有文件名后自动增加正整数重新命名,数字最大的最早写入。可用的单位:KB|MB|GB。不要使用小数,否则会一直写入当前日志-->
      <maximumFileSize value="1GB" />
      <!-- layout 控制Appender的输出格式,也可以是xml  一个Appender只能是一个layout-->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
      </layout>
    </appender>
    <appender name="logAppender" type="log4net.Appender.RollingFileAppender">
      <!--保存路径:下面路径项目启动的时候自动在C盘中创建log、logError文件-->
      <file value="log\info\"/>
      <!-- 如果想在本项目中添加路径,那就直接去掉C:\\  只设置log\\LogError   项目启动中默认创建文件 -->
      <appendToFile value="true"/>
      <param name="Encoding" value="utf-8" />
      <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
      <rollingStyle value="Date"/>
      <!--这是按日期产生文件夹-->
      <datePattern value="yyyyMMddHH'.txt'"/>
      <!--是否只写到一个文件中-->
      <staticLogFileName value="false"/>
      <!--保留的log文件数量 超过此数量后 自动删除之前的   好像只有在 按Size分割时有效 设定值value="-1"为不限文件数-->
      <param name="MaxSizeRollBackups" value="100"/>
      <!--每个文件的大小。只在混合方式与文件大小方式下使用。超出大小后在所有文件名后自动增加正整数重新命名,数字最大的最早写入。可用的单位:KB|MB|GB。不要使用小数,否则会一直写入当前日志-->
      <maximumFileSize value="1GB" />
      <!-- layout 控制Appender的输出格式,也可以是xml  一个Appender只能是一个layout-->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
      </layout>
    </appender>
    <!--Error日志::: 错误日志-->
    <logger name="errror">
      <appender-ref ref="ErrorAppender" />
    </logger>
    <logger name="info">
      <appender-ref ref="logAppender" />
    </logger>
  </log4net>

这段代码的具体含义,如果想详细了解的可自行去查log4net的官方文档。

然后就是配置:AssemblyInfo.cs文件,在这个文件中插入一句话就行:

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

如下:

log4net-mvc中引用log4net-DESTLIVE

最后面就是Global.asax文件,添加如下代码:

 log4net.Config.XmlConfigurator.Configure();
log4net-mvc中引用log4net-DESTLIVE

这样就配置完成了。最后就是运用。

在项目中新建一个如下类:

public class LogHelper
    {
        public static void Info(string txt)
        {
            ILog log = LogManager.GetLogger("info");
            log.Info(txt);

        }
        public static void error(string txt)
        {
            ILog log = LogManager.GetLogger("errror");
            log.Error(txt);

        }
    }

然后在需要用到的地方如下使用就行了:

LogHelper.Info("日志记录");