首先在WebConfig文件中配置如下(都有注释哦,不明白的自己看):
<log4net>
<!--定义日志记录输出到文件-->
<appender name="LogAllToFile" type="log4net.Appender.RollingFileAppender,log4net">
<!--输出格式
每种转换符号都以%开始,后面跟着一个格式符号和换符号。
%-数字 :该项的最小长度,小于最小长度的用空格填充
%m(message):输出的日志消息
%n(new line):换行
%d(datetime):输出当前语句运行的时刻
%r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数
%t(thread id):当前语句所在的线程ID
%p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等
%c(class):当前日志对象的名称,
%L(line ):输出语句所在的行号
%F(file name):输出语句所在的文件名
%logger 日志名称
-->
<param name="File" value="Log/Weblog.txt"/>
<param name="AppendToFile" value="true"/>
<param name="MaxSizeRollBackups" value="-1"/>
<param name="MaximumFileSize" value="500KB"/>
<param name="StaticLogFileName" value="false"/>
<param name="DatePattern" value="yyyyMMdd".log""/>
<param name="RollingStyle" value="Size"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 记录类:%logger 操作者ID:%property{Operator} %n记录位置:%location%n消息描述:%property{Message}%n异常错误:%exception%n消息:%message%newline%n%n" />
</layout>
</appender>
<!--定义输出到数据库中,输出到Access数据库中,数据库为C盘的log4net.mdb-->
<appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">
<connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/HealthLog.mdb;" />
<commandText value="INSERT INTO [jkda_Log]([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@logDate, @thread, @logLevel, @logger,@message,@Exception)" />
<!--定义各个参数-->
<!--日志记录时间-->
<parameter>
<parameterName value="@logDate" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%data" />
</layout>
</parameter>
<!--线程id-->
<parameter>
<parameterName value="@thread" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread" />
</layout>
</parameter>
<!--日志级别-->
<parameter>
<parameterName value="@logLevel" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level" />
</layout>
</parameter>
<!--页面操作路径(又名日志对象)-->
<parameter>
<parameterName value="@logger" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger" />
</layout>
</parameter>
<!--消息描述-->
<parameter>
<parameterName value="@message" />
<dbType value="String" />
<size value="4000" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern name="ConversionPattern" value="操作者ID:%property{Operator} 操作类型:%property{ActionType}%n当前机器名:%property%n当前机器名及登录用户:%username %n记录位置:%location%n消息描述:%property{Message}%n消息:%message%newline%n" />
</layout>
</parameter>
<parameter>
<parameterName value="@Exception" />
<dbType value="String" />
<size value="4000" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%exception" />
</layout>
</parameter>
</appender>
2.重要的是在Web.Config文件中配置如下节点:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
注意这句话要放在开始位置哦,否则会报错!应用程序找不到配置节点!
3.在使用log4net的页面cs文件中添加如下语句:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
(这个很重要)
4.接着就可以直接使用log4net了
private static readonly ILog log = LogManager.GetLogger(typeof(OrganInfo));
public void Log4Net()
{
log.warn("Warn");
log.info("info");
log.Debug("debug");
log.Error("error");
}
好了,log4net的配置到现在就完全结束了,可以用了哦1