Enterprise Library 5.0,记录文本日志。记录至某一Category时,defaultCategory也被同时记录内容了,如何不被同时记录?

问题描述

vs2010.配置两个category:Maincategory,Dbcategory。defaultCategory是"Maincategory"分别对应2个listener:MainListener,DbListener,又分别对应两个TextFormatter。记录Dbcategory时,Maincategory也被记录了。如何只记Dbcategory代码在下层楼.

解决方案

本帖最后由 lee0623 于 2011-05-18 14:22:33 编辑
解决方案二:
代码:LogEntrylogEntry=newLogEntry();logEntry.Message="abcde";logEntry.Severity=System.Diagnostics.TraceEventType.Warning;logEntry.Categories.Clear();logEntry.Categories.Add("Dbcategory");intx=logEntry.Categories.Count;//x=1Logger.Write(logEntry);//同时记了Maincategory与Dbcategory
解决方案三:
沉的叫一个深,帮帮我
解决方案四:

解决方案五:
顶.........
解决方案六:
贴配置文件:<?xmlversion="1.0"?><configuration><configSections><sectionname="loggingConfiguration"type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings,Microsoft.Practices.EnterpriseLibrary.Logging,Version=5.0.414.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35"requirePermission="true"/></configSections><loggingConfigurationname=""tracingEnabled="true"defaultCategory="Maincategory"logWarningsWhenNoCategoriesMatch="true"><listeners><addname="MainListener"type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener,Microsoft.Practices.EnterpriseLibrary.Logging,Version=5.0.414.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35"listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData,Microsoft.Practices.EnterpriseLibrary.Logging,Version=5.0.414.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35"fileName="Log\main.log"footer=""formatter="TextFormatter4Main"header=""rollInterval="Midnight"timeStampPattern="yyyy-MM-dd"/><addname="DbListener"type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener,Microsoft.Practices.EnterpriseLibrary.Logging,Version=5.0.414.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35"listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData,Microsoft.Practices.EnterpriseLibrary.Logging,Version=5.0.414.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35"fileName="Log\db.log"footer=""formatter="TextFormatter4Db"header=""rollInterval="Midnight"/></listeners><formatters><addtype="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter,Microsoft.Practices.EnterpriseLibrary.Logging,Version=5.0.414.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35"template="{timestamp(local:HH:mm:ss)}|{severity}|{message}"name="TextFormatter4Main"/><addtype="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter,Microsoft.Practices.EnterpriseLibrary.Logging,Version=5.0.414.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35"template="{timestamp(local:HH:mm:ss)}|{severity}|{message}"name="TextFormatter4Db"/></formatters><categorySources><addswitchValue="All"autoFlush="true"name="Maincategory"><listeners><addname="MainListener"/></listeners></add><addswitchValue="All"name="Dbcategory"><listeners><addname="DbListener"/></listeners></add></categorySources><specialSources><allEventsswitchValue="All"autoFlush="true"name="AllEvents"><listeners><addname="MainListener"/></listeners></allEvents><notProcessedswitchValue="All"name="UnprocessedCategory"><listeners><addname="MainListener"/></listeners></notProcessed><errorsswitchValue="All"name="LoggingErrors&amp;Warnings"><listeners><addname="MainListener"/></listeners></errors></specialSources></loggingConfiguration><startup><supportedRuntimeversion="v4.0"sku=".NETFramework,Version=v4.0"/></startup><system.web><membershipdefaultProvider="ClientAuthenticationMembershipProvider"><providers><addname="ClientAuthenticationMembershipProvider"type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider,System.Web.Extensions,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35"serviceUri=""/></providers></membership><roleManagerdefaultProvider="ClientRoleProvider"enabled="true"><providers><addname="ClientRoleProvider"type="System.Web.ClientServices.Providers.ClientRoleProvider,System.Web.Extensions,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35"serviceUri=""cacheTimeout="86400"/></providers></roleManager></system.web></configuration>
解决方案七:
引用3楼wxr0323(子夜)的回复:

参考

看你配置,只有一个categorySources,name是"General"我配了两个,一个是Maincategory,默认的;另一个Dbcategory现在记录至Dbcategory时,Maincategory被同时记录了,why?
解决方案八:
顶起..
解决方案九:
logEntry.Categories.Clear();是否在你Clear之前就已经被记录了?
解决方案十:
引用8楼kingdom_0的回复:

logEntry.Categories.Clear();是否在你Clear之前就已经被记录了?

Logger.Write(logEntry)才记录的.

时间: 2024-09-09 15:00:49

Enterprise Library 5.0,记录文本日志。记录至某一Category时,defaultCategory也被同时记录内容了,如何不被同时记录?的相关文章

100分求助,Enterprise Library 5.0记录文本日志,为何重复记录至defaultCategory?

问题描述 加100分求助,EnterpriseLibrary5.0记录文本日志,为何重复记录至defaultCategory?http://topic.csdn.net/u/20110518/14/6c53b93a-3ee1-45dc-a12b-dc557eab6483.html?28187代码在一楼配置文件在五楼 解决方案 解决方案二:过去瞧瞧.

Enterprise Library 2.0 技巧(3):记录ASP.NET站点中未处理的异常

这篇文章不能算是Enterprise Library 2.0的一个技巧,只是Logging Application Block的一个简单应用而已,在这里我们使用Logging Application Block来记录一个ASP.NET 2.0站点中未处理的异常到数据库中,当然你也可以记录到文本文件中,或者发送到指定的Email中,下面看一下具体的实现步骤. 1.创建数据库表和存储过程 在安装目录的src\Logging\TraceListeners\Database\Scripts文件夹下,执行

Enterprise Library 2.0 技巧(4):如何用编程的方法来配置Logging Applicat

Enterprise Library 2.0 技巧(4):如何用编程的方法来配置Logging Application Block 在本系列的技巧(1)和技巧(2)中分别介绍了使用外部配置文件,使用数据库记录配置信息两种方法,不知道大家有没有想过不使用任何配置文件,也不使用数据库而直接用编程的方法来实现呢?本文将会展示如何使用编程的方法来配置Logging Application Block.首先我们需要了解一下Logging Application Block中比较重要的几个对象: 1.Log

Enterprise Library 2.0 -- Logging Application Block(补充)

在前面的文章中,有朋友提到我们在实际项目中往往是把一些事件的日志(比如异常)写入到数据库中,这样更方便查看和管理,而在前面的文章中我都是以写入到文本文件为例的,今天这篇文章就算是对前两篇的一个补充,主要来介绍如何将日志信息写入到数据库中,同时也很感谢那位朋友的建议,下面我们进入正题,分为以下几个步骤: 一. 根据Enterprise Library 2.0中将日志写入到数据库中的需要,我们在数据库中添加一张记录日志的表(RX_Log): --日志信息表 create table RX_Log (

Enterprise Library 2.0 -- Logging Application Block(上)

Enterprise Library 2.0 中的 Logging Application Block 在1.0版本中是Logging and Instrumentation Application Block,因为把重点放在了日志记录上,所以改名为Logging Application Block.Logging Application Block提供了统一的日志记录功能,它支持将日志写入到多种目的地中,比如:1.数据库:2.文本文件:3.Email:4.消息队列:5.WMI event:6.

Enterprise Library 2.0 -- Exception Handing Applcation Block

Enterprise Library 2.0 中的 Exception Handing Applcation Block 为我们开发人员以及设计人员提供了一个一致的方法去处理我们整个企业级应用程序的每个层次上的异常,表现在以下几个方面: 1.它为应用程序的架构的每个层提供异常处理方法,并不仅仅局限于服务层接口: 2.提供通用的异常处理方法,比如记录异常信息,使用我们自定义的异常信息来替换系统的异常信息等等: 3.我们可以自己定义异常处理的规则,并且可以不通过修改代码来修改异常处理的规则: 4.它

黄聪:Microsoft Enterprise Library 5.0 系列教程(四) Logging Application Block

原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(四) Logging Application Block 企业库日志应用程序模块工作原理图:        从上图我们可以看清楚企业库日志应用程序模块的工作原理,其中LogFilter,Trace Source,Trace Listener,Log Formatter的信息都可以在Category配置文件中反映出来,通过配置文件,调用LogWriter类的Writer方法,就可以将包含日志信息的LogEntr

黄聪:Microsoft Enterprise Library 5.0 系列教程(七) Exception Handling Application Block

原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(七) Exception Handling Application Block 使用企业库异常处理应用程序模块的优势: 它支持整个应用程序体系结构层的异常处理,而不仅限于服务接口的界限.  它使得异常处理策略可以在管理层定义和维护,以便决策人员(可能是系统管理员和开发人员)可以定义如何处理异常.他们可以维护和修改控制异常处理的规则集,而无需更改块的应用程序代码.  它提供了常用的异常处理功能,例如记录异常信息

Enterprise Library 2.0 -- Logging Application Block(下)

阅读本文之前,请先阅读:Enterprise Library 2.0 -- Logging Application Block (上) 上一篇中我们介绍了如何去配置Logging Application Block,本文将主要介绍Logging Application Block 的基本操作以及Formatter和Trace Listeners 的自定义方法,首先我们来看如何将一个事件日志写入到一个文本文件中. 假设我们按照上一篇的操作配置了Logging Application Block,那

黄聪:Microsoft Enterprise Library 5.0 系列教程(十) Configuration Application Block

原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(十) Configuration Application Block 到目前为止,我们使用的模块都是在同一个配置文件中,这显然是不灵活的,我们希望每个功能模块能独立的在一个配置文件中体现,这样不仅易于管理,易于扩展,也易于阅读和分类.企业库当然考虑到了这个问题并且提供了解决方案,本章就是讲解如何使用Configuration Application Block来将各个模块分割到独立的配置文件中的. 和以前一样