2014-02-20 31 views
0

是否有可能建立企业库只发送警告电子邮件对于某些类型的事件,其中“类型的事件”可以改变而无需重新编译整个程序或不必编辑的一个.config文件?企业库日志和警报电子邮件

在一个完美的世界中,我可以切换SQL Server中的一个设置来说“默认情况下,通过电子邮件发送[email protected]。对于符合特定条件的源代码,电子邮件b @示例.com,以及其他一些标准,请发送电子邮件至[email protected]“。

更一般地,我正在寻找一个日志框架,这将让我说“为源1 2和3,垃圾邮件大家如果有什么死但对于#4,只是电子邮件1人”。源是由应用处理的每一个文件的一些设置(虽然我打算做一些事情,让1个线程1个电源正常所以这是一个选项太)。

我看到NLOG和log4net的也很受欢迎,但我没有调查他们深深呢。

回答

0

您需要添加一个电子邮件监听email trace listener。下面是从企业库3.1

 <add toAddress="[email protected]" fromAddress="[email protected]" 
    subjectLineStarter="Load" subjectLineEnder="" smtpServer="mailserver.com" 
    smtpPort="25" formatter="Text Formatter" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.EmailTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
    traceOutputOptions="None" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.EmailTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
    name="Email TraceListener" /> 

然后,你需要添加specialsources

<specialSources> 
    <allEvents switchValue="All" name="All Events"> 
    <listeners> 
     <add name="Email TraceListener" /> 
    </listeners> 
    </allEvents> 
    <notProcessed switchValue="All" name="Unprocessed Category" /> 
    <errors switchValue="All" name="Logging Errors &amp; Warnings" /> 
</specialSources> 
一个示例
相关问题