log4net快速上手
程序员文章站
2022-05-24 18:29:26
原文地址:https://www.cnblogs.com/lsgsanxiao/p/5845300.html 略有删改 1.配置文件,可以单独创建log4net.config文件,然后手动指定目录,也可以在项目的app.config或web.config的configuration节点下插入以下代码 ......
原文地址:https://www.cnblogs.com/lsgsanxiao/p/5845300.html
略有删改
1.配置文件,可以单独创建log4net.config文件,然后手动指定目录,也可以在项目的app.config或web.config的configuration节点下插入以下代码
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configsections> <section name="log4net" type="log4net.config.log4netconfigurationsectionhandler,log4net" /> </configsections> <log4net> <logger name="logerror"> <level value="error" /> <appender-ref ref="errorappender" /> </logger> <logger name="loginfo"> <level value="info" /> <appender-ref ref="infoappender" /> </logger> <appender name="errorappender" type="log4net.appender.rollingfileappender"> <!--设置日志存储路径--> <param name="file" value="data//weblog//logerror//" /> <!--是否追加到文件--> <param name="appendtofile" value="true" /> <!--最多产生的日志文件数,超过则只保留最新的n个。设定值value="-1"为不限文件数--> <param name="maxsizerollbackups" value="100" /> <param name="maxfilesize" value="1024" /> <!--是否只写到一个文件中--> <param name="staticlogfilename" value="false" /> <!--这是按日期产生文件夹,并在文件名前也加上日期--> <param name="datepattern" value="yyyymm/dd".log"" /> <!--按照何种方式产生多个日志文件(日期[date],文件大小[size],混合[composite])--> <param name="rollingstyle" value="date" /> <layout type="log4net.layout.patternlayout"> <param name="conversionpattern" value="%n异常时间:%d [%t] %n异常级别:%-5p %n异常位置:[%thread] (%file:%line) %n消息描述:%message%n异常:%exception%n%n " /> </layout> </appender> <appender name="infoappender" type="log4net.appender.rollingfileappender"> <!--设置日志存储路径--> <param name="file" value="data//weblog//loginfo//" /> <!--是否追加到文件--> <param name="appendtofile" value="true" /> <!--最多产生的日志文件数,超过则只保留最新的n个。设定值value="-1"为不限文件数--> <param name="maxsizerollbackups" value="100" /> <param name="maxfilesize" value="1024" /> <!--是否只写到一个文件中--> <param name="staticlogfilename" value="false" /> <!--这是按日期产生文件夹,并在文件名前也加上日期--> <param name="datepattern" value="yyyymm/dd".log"" /> <!--按照何种方式产生多个日志文件(日期[date],文件大小[size],混合[composite])--> <param name="rollingstyle" value="date" /> <layout type="log4net.layout.patternlayout"> <param name="conversionpattern" value="%n日志时间:%d [%t] %n日志级别:%-5p %n消息描述:%c [%x] %n%m %n " /> </layout> </appender> </log4net> </configuration>
2.读取配置
在项目启动文件里加入读取配置的代码,可以说program.cs或者global.cs等
如果是直接卸载项目配置文件下,用这种方式读取
log4net.config.xmlconfigurator.configure();
如果是单独写的log4net.config文件,则需要把文件路径传给configure()方法
var fi = new system.io.fileinfo(path); log4net.config.xmlconfigurator.configure(fi);
3.帮助类
/// <summary> /// loghelper的摘要说明。 /// </summary> public class loghelper { /// <summary> /// 静态只读实体对象info信息 /// </summary> public static readonly log4net.ilog loginfo = log4net.logmanager.getlogger("loginfo"); /// <summary> /// 静态只读实体对象error信息 /// </summary> public static readonly log4net.ilog logerror = log4net.logmanager.getlogger("logerror"); /// <summary> /// 添加info信息 /// </summary> /// <param name="info">自定义日志内容说明</param> public static void writelog(string info) { try { if (loginfo.isinfoenabled) { loginfo.info(info); } } catch { } } /// <summary> /// 添加异常信息 /// </summary> /// <param name="info">自定义日志内容说明</param> /// <param name="ex">异常信息</param> public static void writelog(string info, exception ex) { try { if (logerror.iserrorenabled) { logerror.error(info, ex); } } catch { } } }