html⽇志⽹页,以HTML为表现的⽇志记录组件
关于⽇志记录,如果你不想随⽤随写,⼜不想⽤log4net的话,也许你可以了解⼀下这个!
我也是个很懒的⼈,程序上的东西,只要别⼈写好了,⽽且⾃⼰⽤着爽,绝不做重复的coding。这个组件的起源是因为感觉log4net太强⼤太复杂(对我来说真是这样),当我想⽤log4net的时候,看到配置我都吓尿n次了,⽽这个时候⼼中⼜突发奇想,⽤HTML来做⽇志的表现!理由有⼆,⼀是HTML和CSS⼤家都会,⼆是可以实现很好的可读可视性。
⼀、配置⽂件说明
.fatal{
background-color:red
}
.error{
background-color:purple;
}
.warn{
background-color:yellow;
}
.info{
background-color:green;
}
.debug{
background-color:gray;
}
.myinfo{
font-size:24px;
}
{type}:{message}
{date}
]]>
{type}:{message}
{date}
]]>
{type}:{message}
{date}
]]>
{type}:{message}
{date}
]]>
{type}:{message}
{date}
]]>
{type}:{message}
{date}
]]>
虽然上⾯的配置也不短,洒洒洋洋80⼤⾏,但它真的只有3个(或者说2个半)很简单的结点组成。
1、style结点,这个不说了,和html页⾯⾥style结点是⼀个样的,⽤于定义下⾯模板tpl⾥的样式。
2、tpls结点,这⾥定义的是⽇志类型的默认模板,模板内容⼤家都懂,就是HTML标签,其中有三个占位符{type}、{message}、{date},⽇志类型和{type}是指⼀类东西,分别是fatal,error,warn,info,debug五个类型,这⼀点是参考log4net,那⾥它叫⽇志级别。
3、logs结点,⾥⾯每个⼦结点即log结点都定义⼀个logger对象的属性和⾏为。
先看log结点的属性:
1)name为唯⼀表识,⽤来得到唯⼀logger对象(内部有缓存机制,随⽤随调,⽆须担⼼),name="default"表⽰默认logger
2)path为⽬录或具体⽂件,为⽬录时⽇志⽂件会根据⽇期⽣成, 如上“D:\abc” 会随着⽇期⽣成多个这个命名的⽂件
(D:\abc\yyyy\MM\dd.html),当为具体⽂件时,应该是.html或.htm的⽂件,⽇志便会⼀直追加这⼀个⽂件。
3)types就是上⾯说过的5个类型,为空表⽰什么都不记录,多个type时⽤英⽂逗号隔开,如只记录致命错误和警告,就是
types="fatal,warn",如果要全部记录,可⽤types="all"来简单表⽰types="fatal,error,warn,info,debug"。
4)dateFmt这个是模板⾥{date}的格式,默认是"yyyy-MM-dd HH:mm:ss",记录⽇志时将做为DateTime.ToString()的参数调⽤。
log结点的⼦结点:
和上⾯tpls的⼦结点⼀样,都是定义模板⽤的,上⾯是默认的,这⾥⾃然是特殊、可选的了,⼤家应该能想到这⾥的定义会覆盖默认的,⽽其实上也的确如此~_~!因为是重复的内容,所以上⾯才说配置⽂件⼀共就2个半结点组成。
⼆、调⽤API
把组件dll引⼊项⽬后,要在fig和fig⾥设置Logger配置⽂件的路径,如:
1、得到Logger对象
//得到默认logger,即name="default"的那个
var logger = Logger.GetInstance();
//得到name="log2"的对象
var log2 = Logger.GetInstance("log2");
2、简单记录⽇志
logger.Debug("debugdebugdebug");
logger.Info("infoinfoinfoinfoinfoinfo");
3、过虑记录⽇志,由于⽇志的内容很可能是动态的,所以组件提供的所有记录⽇志的⽅法都可传⼊⼀个委托来过虑掉那些⾃⼰不关⼼的内容
//这个不会记录,开始为数字的被过滤掉了
logger.Error("2323ErrorErrorErrorError", (s) =>Regex.IsMatch(s,@"^\d+"));
//这个会记录,⽇志的内容在于10,不会被过滤
logger.Fatal();
4、HTML展⽰,开始⼀直都说⽤HTML表⽰,效果是什么样呢?(此处的不美,不表⽰不⽀持优美的布局,程序员的界⾯,你们懂的!)
以此献给那些喜欢简单编程的程序员们!下载
log4net--不可多得的开源⽇志记录组件
log4net--不可多得的开源⽇志记录组件 1 前奏 ⼀直在⽤log4net⽇志⼯具,却没时间写个⽇志给⼤家分享⼀下这个⼯具,趁最近⽐较空些,好好分享⼀下这个⼯具. 2 说明 Log4net介绍就不 ...
【⼲货】.NET开发通⽤组件发布(四) ⽇志记录组件
组件介绍和合作开发 wwwblogs/MrHuo/p/MrHuoControls.html ⽇志记录组件功能介绍 通过基类Logger,实现了⽂本记录⽇志和数据库记录⽇志两 ...
Elmah ⽇志记录组件
wwwblogs/jys509/p/4571298.html 简介 ELMAH(Error Logging Modules and Handlers)错误⽇志记录模块和处理...
⽇志记录组件[Log4net]详细介绍
转载:wwwblogs/liwei6797/archive/2007/04/27/729679.html 因为⼯作中有要⽤到Log记录,到⼀篇不错的⽂章,就转了过来. ⼀ ...
C#Log4net⽇志记录组件的使⽤博客模板大全
⼀.Log4Net介绍 Log4net是基于.NET开发的⼀款⾮常著名的记录⽇志开源组件.它通过⼀套XML配置的⽇志引擎,将⽇志分不同的等级,分别是:FATAL . ERROR. WARN. INFO ...
MVC使⽤ Elmah ⽇志记录组件
在后台管理中,有⼀些操作是需要增加操作⽇志的,尤其是对⼀些⽐较敏感的⾦额类的操作,⽐如商城类的修改商品⾦额.删除商品.赠送⾦额等⼈⼯的操作.⽇志中记录着相关操作⼈的操作信息,这样,出了问题也容易排查. ...
Log4Net异常⽇志记录在asp mvc3.0的应⽤
前⾔ log4net是.Net下⼀个⾮常优秀的开源⽇志记录组件.log4net记录⽇志的功能⾮常强⼤.它可以将⽇志分不同的等级,以不同的格式,输出到不同的媒介.本⽂主要是简单的介绍如何在Visual ...
log4net⽇志记录
这⾥是接着上⼀篇来优化的,上篇:ASP.NET MVC中错误⽇志信息记录 log4Net是⽤来记录⽇志的,可以将程序运⾏过程中的信息输出到⼀些地⽅(⽂件,数据库,EventLog等),⽇志就是程序的⿊ ...
Log4Net异常⽇志记录在asp mvc3.0的应⽤(转载)
这篇博客写的很好:wwwblogs/qianlifeng/archive/2011/04/22/2024856.html 前⾔ log4net是.Net下⼀个⾮常优秀的开源 ...
随机推荐
扩展KVM镜像的虚拟磁盘⼤⼩
当我们需要扩展模板镜像的虚拟磁盘⼤⼩时,⽐如原来的虚拟磁盘⼤⼩为20G,现在我们想将其扩展到30G,那么我们可以根据如下步骤来操作.整个流程可以分为三个阶段: 1.扩展KVM镜像磁盘⽂件⼤⼩到30G ...
请让页⾯中的⼀个元素(10px*10px)围绕坐标(200, 300) 做圆周运动
Making things move
【python】按⾏切分⽂本⽂件
python脚本利⽤shell命令来实现⽂本的操作, 这些命令⼤⼤减少了我们的代码量. ⽐如按⾏切分⽂件并返回切分后得到的⽂件列表,可以利⽤内建的split命令进⾏切分.为了返回得到的⽂件列表名,可以 ...
想要见识外太空?⼀款VR头显就能帮你实现梦想
除了宇航员,我们中的⼤多数⼈⼀⽣都没有机会前往地球之外的宇宙空间,只能在图⽚和纪录⽚中感受浩瀚宇宙的震撼. 美国肯尼迪航天中⼼和BrandVR合作推出的VR头显 ⽽NASA在VR中的投资,创造的新的V ...
mysql创建数据表时如何判断是否已经存在?
>>> create table if not exists people(name text,age int(2),gender char(1)); 如上代码表⽰创建⼀个名为peo ...
PHP7.* AES的加密解密
之前写过⼀篇: PHP AES的加密解密-----[弃⽤] 使⽤的是php5.*之前的mcrypt_decrypt 函数,该函数已经在php7.1后弃⽤了,上马的是openssl的openssl_en ...
reset Cisco 2960 password
详见:www.cahilig/2014/04/14/how-reset-cisco-2960-switch-password-without-losing-your-config ...
mysql8.0 1251错误
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; ALTER USER '; FLUSH PR ...
Charles抓包显⽰乱码解决⽅法
[问题现象] 在抓https协议请求时,Request和Response显⽰乱码了: [解决办法] 第⼀步:点击 [⼯具栏-->Proxy-->SSL Proxying Settings. ...
Java在线备份和还原MySQL数据库。
2018年6⽉29⽇14:00:48 阅读数:1534 今天整了整整⼀整天,终于使⽤Java在线备份和还原MySQL数据库了,哎,备份倒是很快,就是在还原的时候遇到了⼀个问题,也不报错,结果将sql语 ...