引用包
点击需要添加log4net项目,在线下载安装包,如下:
在管理器中输入log4net下载一个合适的安装包,不要下载最大的,如下:
安装完成之后就完成了安装,然后下面就开始配置了。
配置
整个项目有如下几个地方需要配置:
1:web.config
2:AssemblyInfo.cs
3:Global.asax
首先先配置web.config
在如下节点中增加如下信息:
代码如下:
<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)]
如下:
最后面就是Global.asax文件,添加如下代码:
log4net.Config.XmlConfigurator.Configure();
这样就配置完成了。最后就是运用。
在项目中新建一个如下类:
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("日志记录");