当前位置:首页 > 日记 > 正文

log4net日志分类和自动维修实例教程

log4net日志分类和自动维修实例教程
如果我们需要配置不同的路径,这个过程就是创造一个iloggerrepository第一,并且通过它的日志级别的配置,以及各种插件,然后得到一个ILOG对象在iloggerrepository通过LogManager,你可以写日志,代码如下:

复制代码代码如下所示:
公共静态ILog GetLogger(字符串repositoryname = )
{
如果(string.isnullorempty(repositoryname))返回logmanager.getlogger(defalut );

iloggerrepository库= null;
尝试
{
库= logmanager.getrepository(repositoryname);
}
catch(异常){ }

发现/返回ILOG
如果(存储库)!= null)
LogManager.GetLogger(repositoryname回报,defalut );

找不到创建,可以创建多个线程,有
尝试
{
库= logmanager.createrepository(repositoryname);
}
catch(例外)
{
库= logmanager.getrepository(repositoryname);
}

配置日志级别 / /读取appSettings默认配置
无功appset = configurationmanager.appsettings.allkeys;

找到日志级别
const string LogLevel =日志级别;
无功hassettings = Array.IndexOf(appset,LogLevel);
如果(hassettings > 1)
{
VaR水平= ConfigurationManager里ToLower(){ LogLevel };
如果(级别= 所有)存储库;
否则,如果为(级别=调试)存储库;
否则,如果(级别=)存储库;
否则,如果为级别,则警告;
否则,如果(级别= 错误)存储库;
否则,如果(级别=致命)存储库;
否则,如果(级别=关闭)存储库;
}
其他存储库;

找到 /输出插件
const string logappender =logappender ;
hassettings = array.indexof(appset,logappender);
如果(hassettings > 1)
{
VaR的appender = ConfigurationManager里{ logappender }。ToLower(),Split(',');
foreach(在appender VAR appender)
{
如果(appender = =rollingfile )LoadRollingFileAppender(库);
如果(appender = =控制台)LoadConsoleAppender(库);
如果(appender = =微量)LoadTraceAppender(库);
}
}
其他的LoadRollingFileAppender(库);

LogManager.GetLogger(repositoryname回报,默认);
}
log4net自动维护ILOG和ILoggerRepository,所以你不必拯救它,使它通过logmanger。但是我没有找到一个方法来找出是否指定iloggerrepository存在,所以我认为尽量赶在上面的代码中,由于我们配置log4net通过代码,我们仍然要设置日志级别通过配置输出型,所以我选择配置文件里,并将其配置为所有iloggerrepository。原因是没有配置的各项功能,主要是因为配置问题。如果你真的想这样做,你可以在log4net不同记录器直接配置,它将更好地通过loggerName。

日志维护

下一个问题是,如何删除日志

log4net可以配置RollingFileAppender,翻译是一个滚动文件。以MaximumFileSize和maxsizerollbackups 2参数,这个目标是可以实现的。当日志文件达到一定的规模,一个新的文件,将生成的文件数量最多的是maxsizerollbackups,但前提是文件名的一致性。

例如,我们使用以下配置:

复制代码代码如下所示:


这样做的效果是,日志是一个小时,和备份每小时的最大数量是1000,和一个日志文件是在每500kb形成。作为日数增加,文件越来越多,我们需要清理。所以以上的配置可以改变一点点:

复制代码代码如下所示:


日志文件名是主要设置的,它是一个不允许更改的静态名称。从那时起,日志文件最多为1000个,而不需要手动操作,您将看到日志文件名:

日志。日志。日志。1日志。日志2…默认值是文件名。最后一个数字是最大和最老的时间。因此,检查新日志主要在第一个文件名中。
另一个提示:如果Appender是建立在静态文件名,那么历史记录将被覆盖,这是非常关心的历史记录中的应用。建议不要使用这个计划。如果我们清理日志,我们仍然应该诚实地写代码。

相关文章

Teachyouhowtomaketransparentglas

Teachyouhowtomaketransparentglas

电脑软件,TeachyouhowtomaketransparentglasstexturebuttonswithPhotoshop,如果你已经使用Vista或者Windows7操作系统,你有玻璃质感按钮印象深刻吗今天我们要教你如何使用PS图象处理软件做一个透明的玻璃质感按钮!我希望每个人都喜欢它。 如…

PS图象处理软件将画出示意图,然后用

PS图象处理软件将画出示意图,然后用

示意图,手绘,画出,图象,处理软件,接下来,萧边向您介绍利用PS图象处理软件变换图片成草图,然后用毛笔取代他们,添加手绘风格来帮助你实现画家的梦想。好,让我们一起学习。 许多人相信这是一个画家的梦想,但绘画这件事,不是一天两天你可以学习需要…

延迟laravel容器和认证扩展的详细

延迟laravel容器和认证扩展的详细

扩展,认证,解决方案,加载,延迟,昨天,我写了根据手册教程认证扩展。根据包装独立原则,我不想写作者::延长()在start.php。毫无疑问,我选择在服务提供者寄存器()方法中注册扩展驱动程序,但是它违背了您的意愿… 发现问题 我写这个的时候,LoauthServicePr…

一个解决IMG和BR之间的差距

一个解决IMG和BR之间的差距

差距,电脑软件,IMG,BR,当你设计的网页,发现两IMG线之间存在差距。这不符合我的设计意图。经过测试,img标签加CSS样式垂直对齐:底部可以解决这个问题。 在一个Web页面的布局的今天,我们发现了两个IMG线之间的差距和不同意我的设计。以下是我的…

PS图象处理软件的时间表使GIF动画

PS图象处理软件的时间表使GIF动画

动画,时间表,图象,处理软件,简单,本教程主要是介绍PS图象处理软件的时间轴的一个朋友,做一个简单的方法来制作GIF动画。很适合初学者学习。 很多人不知道PS图象处理软件可以做动画,这是非常有用的,简单的。现在我教你如何制作动画——PS;mdash;…

递归创建目录的PHP方法

递归创建目录的PHP方法

创建目录,方法,递归,电脑软件,PHP,本文介绍了PHP递归创建目录的方法,供大家分享,供大家参考。 具体实现代码如下: 功能mk_dir($路径){ 第一,目录已经存在 如果(is_dir($路径)){ 返回; } 第二个案例,父目录存在,本身不存在。 如果(is_dir(dirname($路径))){ m…

js正则表达式验证了一个文件格式。

js正则表达式验证了一个文件格式。

正则表达式,验证,文件格式,电脑软件,js,首先,说出我所需要的 我想请求输入文本框中的内容格式。 内容必须是 字符串 +字符串字符串 字符串+ + + + +字符串字符串 字符串++++字符串字符串 。 字符串的数量没有限制。 字符串由字母(大小写)、…

PS使用搅拌机刷工具添加厚厚的雪到

PS使用搅拌机刷工具添加厚厚的雪到

工具,荒野,电脑软件,PS,在画雪之前,最好先找到一些雪的图片,了解雪的结构,颜色的变化,雪中一些物体的光线,这是画出我心的底部。 在画雪之前最好先找到一些雪的图片,了解雪的结构,颜色的变化,雪中一些物体的光线,这是我画的最底层,作者的方法也很好,…

ThinkPHP特殊标签使用的概述

ThinkPHP特殊标签使用的概述

标签,电脑软件,ThinkPHP,本文阐述了ThinkPHP特殊标签的用法。分享给你供你参考。具体分析如下: 特殊的标签: 1。比较标签 等于或等于 NEQ或等于不等于 gt大于 EGT大于等于等于 lt小于 英语低于等于或等于 HEQ标识 Nheq不是恒定的 …

CorelDRAW易使一个美丽的三叶草标

CorelDRAW易使一个美丽的三叶草标

图标,一个美丽,三叶,标志,过程,本教程主要使用CorelDraw创建漂亮的三叶草芦图标的方法。教程制作的过程相对简单。这个方法比较适合新朋友学习,喜欢朋友,一起学习吧。 This tutorial is to introduce a friend to make use of CorelDraw sim…

ajax登录功能的简单实现(非连接数据

ajax登录功能的简单实现(非连接数据

简单实现,连接数据库,登录,功能,电脑软件,简单登录功能(不连接数据库) 复制代码代码如下所示: $(函数(){()) $(#踢脚)。Click(function(){) 用户名= $(var的#用户名)瓦迩(); var pwd =美元(# PWD)。瓦迩(); $ ajax({ 类型:邮政 内容类型:应用程序/ JSON 网址:资源管理器…

图CorelDRAW写作小技巧

图CorelDRAW写作小技巧

小技巧,电脑软件,CorelDRAW,本教程介绍一个小技巧制作的朋友,这是推荐给你的朋友。 我们经常使用小标宋、大宋等在CorelDraw,这是非常薄的,如果我们做反字,尤其是五彩的反字,有时我们几乎看不到笔触。 在这种情况下,每个人都应该想到白色这个技…