ASP.Net/Development/Event Log

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

Get Event Entry from Event log (C#)

<%@ 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("<b>Entry Type:</b> ");
            sb.Append(entry.EntryType.ToString());
            sb.Append("<br><b>Message:</b> ");
            sb.Append(entry.Message);
            sb.Append("<br><b>Time Generated:</b> ");
            sb.Append(entry.TimeGenerated);
            sb.Append("<br><br>");
          }
          lblResult.Text = sb.ToString();
        }
      }
    }
  }

--%>



Write to Event log in code behind (C#)

<%@ 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 = "<b>Message:</b> " + err.Message + "<br><br>";
        lblResult.Text += "<b>Source:</b> " + err.Source + "<br><br>";
        lblResult.Text += "<b>Stack Trace:</b> " + 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);
      }
    }
  }

--%>