log4netC#中Log4Net怎么用啊???

log4net  时间:2021-06-07  阅读:()

c#log4net是多线程吗

网络不行,朋友不知道,只好自己想办法。

想了几种方法如下: 1、写多个文件,然后找个机会把这些文件合并! 2、干脆放弃写文件,改写数据库! 3、把文件看成一个表结构,实现行级锁。

也就是一个线程写一行。

4、把文件看成内存块,每块写完再合并! 以上几种方法缺点: 1、多个文件。





想起来就恶心! 2、写数据库?太没技术含量咱不干! 3、行级锁?我一个线程要写入多行不是看起来很乱? 4、没想到啥缺点,实现它吧! 以下是偶经过了10000线程并发测试,也没发现问题的代码!

如何配置log4net以便log.IsDebugEnabled为true

log.debug( "xxxx ");}我很奇怪,为什么要与log.isdebugenabled()?既然log.debug()在没有指定输出级别为debug时不会有输出,为什么还要在前面加一个isdebugenabled()的判断?为了效率,如果上述那个代码那么简单是没有必要的 但是如果这样 if (log.isdebugenabled()) { log.debug(buildfullstring()); } 如果这个buildfullstring效率不太高,那么如果直接写log.debug(buildfullstring());的话 虽然它不会打印语句,但是buildfullstring还是被执行了,这样就白费了功夫 所以加上isdebugenabled就可以避免执行buildfullstring了 这个方法一般用在认为buildfullstring这个函数效率不太高的情况下 加不加if,效果相同,但是效率不同 在你的例子里,debug的参数就是一个string,所以没有太本质的差别 但是假如log.debug( "map= " + map)的话,在调用debug之前,必然需要调用map.tostring(),而这个操作可能导致更多的大量字符串操作,最后,才能得到这个辛辛苦苦拼接出来的结果,作为参数传入debug(),结果,这个参数却不需要(一般在log方法入口就判断输出level)。

如何使用log4net记录日志

第一步, 当然是添加.dll的引用啦,我这里提供一个的dll文件 第二步, [assembly: .Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)] 这句话的意思是会自动寻找配置文件App.config或Web.config从而获得并加载其中的配置信息。

如果想随时监视配置文件以便重新加载的话就要这样写按照上面一样写(winform程序ConfigFile为App.config)。

第三步, 配置Web.config。

+ View Code 上面这段配置取自周公,配置的说明上面已经注释的比较详细了。

第四步, 在程序中记录信息。

我们在项目下Default.aspx的Page_Load方法加入如下代码: //获得实例 ILog log = .LogManager.GetLogger("LogFileAppender"); log.Info("Default.aspx下面的PageLoad方法被执行"); 然后运行项目,可以发现在c:file.txt中已经记录了一条日志信息: 1记录时间:2011-04-21 21:26:17,729 线程ID:[4] 日志级别:INFO 出错类:LogFileAppender property:[(null)] - 错误描述:Default.aspx下面的PageLoad方法被执行 通过上面这几步我想您已经能够为程序创建一些简单日志记录功能了。

下面我们再来详细说说其他的一些使用方法与特点。

C#中Log4Net怎么用啊???

(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java的)姊妹工具.用过log4j的都知道,它功能强大,可配置性灵活,线程安全,对日志的输出管理和级别管理方便。

首先你应该下载.dll并引入到你的项目References中,或者把源代码项目作为你工程的一部分加入到你的工程当中。

使用需要知道其中两个比较重要的概念:logger 和 appender。

前者是日志记录对象,后者是日志记录的目标,包括控制台,文件,定量大小的文件,远程广播。

也就是说我们使用的过程可以是这样的:获得一个用来记录日志的工具对象logger,然后为logger对象指定日志的记录位置.美妙的是,这一切工作都可以在Web.config配置文件中完成,所用的代码极少. 其配置如下: 先在web.config中的节点下添加如下配置:
用过web.config自定义节点的朋友都知道,还应该配置节点,接下来在节点下添加如下节点配置: 1< debug="false"> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 从上面的配置中可以看到定义了多个appender,每一个appender就是一个日志记录的目标。

root节点指定了选用哪一个 appender. 在这里我选用了LogFileAppender。

到这里配置就基本上完成了,但是怎么使用上面的配置呢?为我们提供了在应用程序启动时加载配置信息的入口,很简单,在Global.asax.cs的Application_Start过程中添加如下代码: .Config.DOMConfigurator.Configure(); 好了,到此为止整个配置过程完成了,下面是怎么调用的问题了。

新建一个test.aspx页面,在cs文件中添加引用 using ;定义本页的一个全局变量: private static readonly ILog log = LogManager.GetLogger(typeof(test)); 然后在Page_Load中添加如下代码:log.Debug("这是我在使用Log4Net");运行该页面,在C:下面会生成一个Applog.txt文本文件,打开看看,里面就有你写入的日志。

速云:广州移动/深圳移动/广东联通/香港HKT等VDS,9折优惠,最低月付9元;深圳独立服务器1050元/首月起

速云怎么样?速云,国人商家,提供广州移动、深圳移动、广州茂名联通、香港hkt等VDS和独立服务器。现在暑期限时特惠,力度大。广州移动/深圳移动/广东联通/香港HKT等9折优惠,最低月付9元;暑期特惠,带宽、流量翻倍,深港mplc免费试用!点击进入:速云官方网站地址速云优惠码:全场9折优惠码:summer速云优惠活动:活动期间,所有地区所有配置可享受9折优惠,深圳/广州地区流量计费VDS可选择流量翻...

青云互联:洛杉矶CN2弹性云限时七折,Cera机房三网CN2gia回程,13.3元/月起

青云互联怎么样?青云互联是一家成立于2020年6月份的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,目前提供有美国免费主机、香港主机、香港服务器、美国云服务器,让您的网站高速、稳定运行。目前,美国洛杉矶cn2弹性云限时七折,美国cera机房三网CN2gia回程 13.3元/月起,可选Windows/可自定义配置。点击进入:青云互联官网青云互联优惠码:七折优惠码:dVRKp2tP (续...

月神科技:香港CN2/洛杉矶CN2/华中电信高防vps,月付20元起

月神科技怎么样?月神科技是由江西月神科技有限公司运营的一家自营云产品的IDC服务商,提供香港安畅、香港沙田、美国CERA、华中电信等机房资源,月神科技有自己的用户群和拥有创宇认证,并且也有电商企业将业务架设在月神科技的平台上。目前,香港CN2云服务器、洛杉矶CN2云主机、华中电信高防vps,月付20元起。点击进入:月神科技官方网站地址月神科技vps优惠信息:香港安畅CN2-GIA低至20元核心:2...

log4net为你推荐
李智慧李智慧和韩智慧是一个人吗?个人的详细资料怎样的?决策树分析如何用SPSS生成决策树并对新数据进行预测分析cpu监控CPU检测软件有哪些 5款CPU检测工具介绍 (以图搜人怎样搜人以图搜人怎样人肉搜人?只知道他名字和当初居住的地址视频技术怎么做视频?模式识别算法模式识别、神经网络、遗传算法、蚁群算法等等人工智能算法需要哪些数学知识?activitygroupTabHost ActivityGroup里面activity里的webview是不是不支持一些JS比如 alert?bt代理有人推荐我成为btbank代理人,这个没有什么风险?腾讯贴吧腾讯论坛里找自己发的帖
子域名查询 免费vps 浙江vps 免费注册网站域名 老左博客 长沙服务器 浙江独立 铁通流量查询 dd444 空间论坛 宁波服务器 admit的用法 免费智能解析 hdd 联通网站 四川电信商城 重庆电信服务器托管 云营销系统 中国电信测速网站 测速电信 更多