ASP.NET Log4Net日志的配置及使用,文件写入
程序员文章站
2023-11-21 08:51:22
Log4net是Apache log4j框架在Microsort.NET平台实现的框架. 帮助程序员将日志信息输出到各种目标(控制台,数据库,文件等) 1.新建一个ASP.NET项目 2.新建一个 log4net.config 文件,用来放置日志的配置,为什么不写在在web.Config中呢,主要是 ......
log4net是apache log4j框架在microsort.net平台实现的框架.
帮助程序员将日志信息输出到各种目标(控制台,数据库,文件等)
1.新建一个asp.net项目
2.新建一个 log4net.config
文件,用来放置日志的配置,为什么不写在在web.config中呢,主要是因为这样更加清晰,明了,不会那么的混乱
打开log4net.config文件,将下面的配置复制进去
<?xml version="1.0" encoding="utf-8"?> <configuration> <configsections> <section name="log4net" type="log4net.config.log4netconfigurationsectionhandler, log4net"/> </configsections> <system.web> <compilation debug="true" targetframework="4.5.2" /> <httpruntime targetframework="4.5.2" /> </system.web> <log4net> <!--错误日志:::记录错误日志--> <!--按日期分割日志文件 一天一个--> <!-- appender 定义日志输出方式 将日志以回滚文件的形式写到文件中。--> <appender name="errorappender" type="log4net.appender.rollingfileappender"> <!--保存路径:下面路径项目启动的时候自动在c盘中创建log、logerror文件--> <file value="content\\logerror"/> <!-- 如果想在本项目中添加路径,那就直接去掉c:\\ 只设置log\\logerror 项目启动中默认创建文件 --> <appendtofile value="true"/> <!--按照何种方式产生多个日志文件(日期[date],文件大小[size],混合[composite])--> <rollingstyle value="date"/> <!--这是按日期产生文件夹--> <datepattern value="yyyy\\yyyymm\\yyyymmdd'.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"> <!--每条日志末尾的文字说明--> <!--输出格式 模板--> <!-- <param name="conversionpattern" value="记录时间:%date 线程id:[%thread] 日志级别:%-5level 记录类:%logger 操作者id:%property{operator} 操作类型:%property{action}%n 当前机器名:%property%n当前机器名及登录用户:%username %n 记录位置:%location%n 消息描述:%property{message}%n 异常:%exception%n 消息:%message%newline%n%n" />--> <!--样例:2008-03-26 13:42:32,111 [10] info log4netdemo.mainclass [(null)] - info--> <!--<conversionpattern value="%newline %n记录时间:%date %n线程id:[%thread] %n日志级别: %-5level %n错误描述:%message%newline %n"/>--> <conversionpattern value="%n========== %n【日志级别】%-5level %n【记录时间】%date %n【线程编号】[%thread] %n【执行时间】[%r]毫秒 %n【出错文件】%f %n【出错行号】%l %n【出错的类】%logger 属性[%property{ndc}] %n【错误描述】%message %n【错误详情】%newline"/> </layout> </appender> <!--error日志::: 错误日志--> <logger name="logerror"> <level value="error" /> <appender-ref ref="errorappender" /> </logger> </log4net> </configuration>
3.打开properties中的assemblyinfo.cs
将代码放进去, assemblyinfo.cs主要用来设定生成的有关程序集的常规信息dll文件的一些参数
[assembly: log4net.config.xmlconfigurator(configfile = "log4net.config", watch = true)]
5.在global.asax设置log4net
log4net.config.xmlconfigurator.configureandwatch(new system.io.fileinfo(server.mappath("/log4net.config")));
6.log4nethelper的帮助类
public class log4nethelper { #region /// <summary> /// /// </summary> /// <param name="msg"></param> public static void errorlog(object msg) { log4net.ilog log = log4net.logmanager.getlogger("logerror"); task.run(() => log.error(msg)); //异步 // task.factory.startnew(() =>log.error(msg));// 这种异步也可以 //log.error(msg); //这种也行跟你需要,性能越好,越强大,我还是使用异步方式 } /// <summary> /// /// </summary> /// <param name="ex"></param> public static void errorlog(exception ex) { log4net.ilog log = log4net.logmanager.getlogger("logerror"); task.run(() => log.error(ex.message.tostring() + "/r/n" + ex.source.tostring() + "/r/n" + ex.targetsite.tostring() + "/r/n" + ex.stacktrace.tostring())); } /// <summary> /// /// </summary> /// <param name="msg"></param> /// <param name="ex"></param> public static void errorlog(object msg, exception ex) { log4net.ilog log = log4net.logmanager.getlogger("logerror"); if (ex != null) { task.run(() => log.error(msg, ex)); //异步 } else { task.run(() => log.error(msg)); //异步 } } #endregion }
7.直接是调用帮助类,里面一个有三个方法,errorlog重载,根据自己的需要来调用
上一篇: PHP有序表查找之插值查找算法示例
下一篇: C#异步调用示例详解
推荐阅读
-
ASP.NET core Web中使用appsettings.json配置文件的方法
-
weflow如何使用?weflow的使用及配置文件教程
-
ASP.NET Log4Net日志的配置及使用,文件写入
-
Django使用uwsgi部署时的配置以及django日志文件的处理方法
-
PHP使用内置函数file_put_contents写入文件及追加内容的方法
-
ASP.NET Log4Net日志的配置及使用,文件写入
-
.net简单使用Log4net的方法(多个日志配置文件)
-
Asp.Net Core中配置使用Kindeditor富文本编辑器实现图片上传和截图上传及文件管理和上传(开源代码.net core3.0)
-
CentOS7使用supervisor的常用命令、配置文件参数及遇到的问题解决
-
ASP.NET下使用xml反序列化、缓存依赖实现个性化配置文件的实时生效