ASP.Net/Development/Event Log

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Get Event Entry from Event log (C#)

   <source lang="csharp">

<%@ Page language="c#" src="EventReviewPage.aspx.cs" AutoEventWireup="false" Inherits="EventReviewPage" %> <HTML>

 <body>
   <form id="Form1" method="post" runat="server">
     <asp:label id="lblResult" style="Z-INDEX: 100; LEFT: 32px; POSITION: absolute; TOP: 160px" runat="server" Width="674px" Height="16px" Font-Names="Verdana" Font-Size="Smaller" BorderStyle="Inset" BorderWidth="1px" BackColor="#FFFFC0"></asp:label><asp:textbox id="txtLog" style="Z-INDEX: 107; LEFT: 128px; POSITION: absolute; TOP: 32px" runat="server" Width="193px" Height="24px">Application</asp:textbox><asp:label id="Label2" style="Z-INDEX: 106; LEFT: 32px; POSITION: absolute; TOP: 40px" runat="server" Width="96px" Height="16px" Font-Names="Verdana" Font-Size="Smaller">Log:</asp:label><asp:textbox id="txtSource" style="Z-INDEX: 102; LEFT: 128px; POSITION: absolute; TOP: 64px" runat="server" Width="193px" Height="24px">ErrorTestLog_Page</asp:textbox><asp:label id="Label1" style="Z-INDEX: 103; LEFT: 32px; POSITION: absolute; TOP: 64px" runat="server" Width="96px" Height="16px" Font-Names="Verdana" Font-Size="Smaller">Source:</asp:label><asp:button id="cmdGet" style="Z-INDEX: 104; LEFT: 200px; POSITION: absolute; TOP: 104px" runat="server" Width="120px" Text="Get Entries" Font-Names="Verdana" Font-Size="Smaller"></asp:button><asp:checkbox id="chkAll" style="Z-INDEX: 105; LEFT: 336px; POSITION: absolute; TOP: 32px" runat="server" Width="204px" Height="16px" Text="Get All Entries for this Log (May Be Extremely Slow)" AutoPostBack="True" Font-Names="Verdana" Font-Size="Smaller"></asp:checkbox></form>
 </body>

</HTML>

<%-- using System; using System.Collections; using System.ruponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Diagnostics;

 public class EventReviewPage : System.Web.UI.Page
 {
   protected System.Web.UI.WebControls.Label lblResult;
   protected System.Web.UI.WebControls.TextBox txtLog;
   protected System.Web.UI.WebControls.Label Label2;
   protected System.Web.UI.WebControls.TextBox txtSource;
   protected System.Web.UI.WebControls.Label Label1;
   protected System.Web.UI.WebControls.Button cmdGet;
   protected System.Web.UI.WebControls.CheckBox chkAll;
 
   private void Page_Load(object sender, System.EventArgs e)
   {
   }
   #region Web Form Designer generated code
   override protected void OnInit(EventArgs e)
   {
     InitializeComponent();
     base.OnInit(e);
   }
   
   private void InitializeComponent()
   {    
     this.cmdGet.Click += new System.EventHandler(this.cmdGet_Click);
     this.chkAll.CheckedChanged += new System.EventHandler(this.chkAll_CheckedChanged);
     this.Load += new System.EventHandler(this.Page_Load);
   }
   #endregion
   private void chkAll_CheckedChanged(object sender, System.EventArgs e)
   {
     if (chkAll.Checked == true)
     {
       txtSource.Text = "";
       txtSource.Enabled = false;
     }
     else
     {
       txtSource.Enabled = true;
     }
   }
   private void cmdGet_Click(object sender, System.EventArgs e)
   {
     if (!EventLog.Exists(txtLog.Text))
     {
       lblResult.Text = "The event log " + txtLog.Text ;
       lblResult.Text += " doesn"t exist.";
     }
     else
     {
       System.Text.StringBuilder sb = new System.Text.StringBuilder();
       EventLog log = new EventLog(txtLog.Text);
       foreach (EventLogEntry entry in log.Entries)
       {
         // Write the event entries to the page.
         if (chkAll.Checked == true ||
           entry.Source == txtSource.Text)
         {
           sb.Append("Entry Type: ");
           sb.Append(entry.EntryType.ToString());
           sb.Append("
Message: "); sb.Append(entry.Message); sb.Append("
Time Generated: "); sb.Append(entry.TimeGenerated); sb.Append("

"); } lblResult.Text = sb.ToString(); } } } }

--%>

      </source>
   
  


Write to Event log in code behind (C#)

   <source lang="csharp">

<%@ Page language="c#" src="ErrorTestLog.aspx.cs" AutoEventWireup="false" Inherits="ErrorTestLog" %> <HTML>

 <body>
   <form id="Form1" method="post" runat="server">
     <asp:Label id="Label2" style="Z-INDEX: 106; LEFT: 144px; POSITION: absolute; TOP: 32px" runat="server" Font-Size="Smaller" Font-Names="Verdana" Width="16px" Height="16px">B:</asp:Label>
     <asp:TextBox id="txtA" style="Z-INDEX: 101; LEFT: 32px; POSITION: absolute; TOP: 32px" runat="server" Font-Size="Smaller" Font-Names="Verdana" Width="97px" Height="20px"></asp:TextBox>
     <asp:TextBox id="txtB" style="Z-INDEX: 102; LEFT: 160px; POSITION: absolute; TOP: 32px" runat="server" Font-Size="Smaller" Font-Names="Verdana" Width="97px" Height="20px"></asp:TextBox>
     <asp:Button id="cmdCompute" style="Z-INDEX: 103; LEFT: 280px; POSITION: absolute; TOP: 24px" runat="server" Font-Size="Smaller" Font-Names="Verdana" Width="152px" Height="32px" Text="Divide A / B"></asp:Button>
     <asp:Label id="Label1" style="Z-INDEX: 104; LEFT: 16px; POSITION: absolute; TOP: 32px" runat="server" Font-Size="Smaller" Font-Names="Verdana" Width="16px" Height="16px">A:</asp:Label>
     <asp:Label id="lblResult" style="Z-INDEX: 105; LEFT: 24px; POSITION: absolute; TOP: 80px" runat="server" Font-Size="Smaller" Font-Names="Verdana" Width="592px" Height="96px"></asp:Label>
     <asp:CheckBox id="chkLog" style="Z-INDEX: 107; LEFT: 456px; POSITION: absolute; TOP: 32px" runat="server" Font-Size="Smaller" Font-Names="Verdana" Width="240px" Height="24px" Text="Log errors to ProseTech log"></asp:CheckBox>
   </form>
 </body>

</HTML>

<%-- using System; using System.Collections; using System.ruponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Diagnostics;

 public class ErrorTestLog : System.Web.UI.Page
 {
   protected System.Web.UI.WebControls.Label Label2;
   protected System.Web.UI.WebControls.TextBox txtA;
   protected System.Web.UI.WebControls.TextBox txtB;
   protected System.Web.UI.WebControls.Button cmdCompute;
   protected System.Web.UI.WebControls.Label Label1;
   protected System.Web.UI.WebControls.Label lblResult;
   protected System.Web.UI.WebControls.CheckBox chkLog;
 
   private void Page_Load(object sender, System.EventArgs e)
   {
     // Put user code to initialize the page here
   }
   #region Web Form Designer generated code
   override protected void OnInit(EventArgs e)
   {
     //
     // CODEGEN: This call is required by the ASP.NET Web Form Designer.
     //
     InitializeComponent();
     base.OnInit(e);
   }
   
   /// <summary>
   /// Required method for Designer support - do not modify
   /// the contents of this method with the code editor.
   /// </summary>
   private void InitializeComponent()
   {    
     this.cmdCompute.Click += new System.EventHandler(this.cmdCompute_Click);
     this.Load += new System.EventHandler(this.Page_Load);
   }
   #endregion
   private void cmdCompute_Click(object sender, System.EventArgs e)
   {
     try
     {
       decimal a, b, result;
       a = Decimal.Parse(txtA.Text);
       b = Decimal.Parse(txtB.Text);
       result = a / b;
       lblResult.Text = result.ToString();
     }
     catch (Exception err)
     {
       lblResult.Text = "Message: " + err.Message + "

"; lblResult.Text += "Source: " + err.Source + "

"; lblResult.Text += "Stack Trace: " + err.StackTrace; lblResult.ForeColor = Color.Red; // Write the information to the event log. EventLog log; if (chkLog.Checked == true) { log = new EventLog("ProseTech"); } else { log = new EventLog(); } log.Source = "ErrorTestLog_Page"; log.WriteEntry(err.Message, EventLogEntryType.Error); } } }

--%>

      </source>