1

我想在我的 asp.net 应用程序中设置健康监控(使用 .net 4.5)。

在生产中,我们会将健康事件记录到一个单独的数据库中(连同其他操作类型的数据)。

在开发中,虽然我想设置使用事件日志,所以在开发时不需要设置其他数据库。

我已经将日志记录到事件日志中,但是我不知道如何仅为我的应用程序过滤掉事件日志事件。

看着他们,一个事件看起来像这样

Log Name:      Application
Source:        ASP.NET 4.0.30319.0
Date:          29/07/2012 8:50:46 PM
Event ID:      1305
Task Category: Web Event
Level:         Information
Keywords:      Classic
User:          N/A
Computer:      scorpion
Description:
Event code: 1004 
Event message: Application compilation finished. 
Event time: 29/07/2012 8:50:46 PM 
Event time (UTC): 29/07/2012 10:50:46 AM 
Event ID: 41f9c898cda14f7685f5c448f13f806a 
Event sequence: 10 
Event occurrence: 4 
Event detail code: 0 

Application information: 
    Application domain: /LM/W3SVC/5/ROOT-1-129880325799889790 
    Trust level: Full 
    Application Virtual Path: / 
    Application Path: c:\users\pyro\documents\visual studio 2012\Projects\MvcApplication3\MvcApplication3\ 
    Machine name: SCORPION 

Process information: 
    Process ID: 556 
    Process name: iisexpress.exe 
    Account name: scorpion\pyro 

Custom event details: 

Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="ASP.NET 4.0.30319.0" />
    <EventID Qualifiers="16384">1305</EventID>
    <Level>4</Level>
    <Task>3</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2012-07-29T10:50:46.000000000Z" />
    <EventRecordID>6775</EventRecordID>
    <Channel>Application</Channel>
    <Computer>scorpion</Computer>
    <Security />
  </System>
  <EventData>
    <Data>1004</Data>
    <Data>Application compilation finished.</Data>
    <Data>29/07/2012 8:50:46 PM</Data>
    <Data>29/07/2012 10:50:46 AM</Data>
    <Data>41f9c898cda14f7685f5c448f13f806a</Data>
    <Data>10</Data>
    <Data>4</Data>
    <Data>0</Data>
    <Data>/LM/W3SVC/5/ROOT-1-129880325799889790</Data>
    <Data>Full</Data>
    <Data>/</Data>
    <Data>c:\users\pyro\documents\visual studio 2012\Projects\MvcApplication3\MvcApplication3\</Data>
    <Data>SCORPION</Data>
    <Data>
    </Data>
    <Data>556</Data>
    <Data>iisexpress.exe</Data>
    <Data>scorpion\pyro</Data>
  </EventData>
</Event>

唯一可能有用的是应用程序域,但看起来没有一种方法可以通过事件日志条目访问它,而无需进行某种讨厌的解析。

有什么我在这里遗漏的吗,我实际上可以在日志中设置一些内容,以便更容易地过滤掉我的应用程序,我可以查找 asp.net 字符串,但这并不能保证它只会获取与我的应用直接相关的内容。

如果在不重写提供程序的情况下无法做到这一点,是否有更好的提供程序用于不需要太多设置的一次性开发场景。

4

0 回答 0