ASP.NET Source Code Viewer Font Size:
<%@ Page Language="vb" debug="false" trace="false" %>
<%@ Import Namespace="System.Diagnostics" %> 
<script runat="server">
Sub Page_Load(sender As object, e As EventArgs)
    Try
        If Not IsPostBack Then
            BindEvents()
        End If
    Catch ex as Exception
        Trace.Write("Page_Load","",ex)
        Response.Write("There were errors in the processing of your request.")
    End Try
End Sub

Sub BindEvents()
    Dim I As Integer
    
    'Get an array with all of the event logs on the server
    Dim elArray As EventLog() = EventLog.GetEventLogs(".")
    
    'Populate the SELECT box with the different event logs
    logs.DataSource = elArray
    logs.DataTextField = "Log"
    logs.DataValueField = "Log"
    logs.DataBind()

    I = 0
    Do While I < logs.Items.Count
        Try
            logs.Items(I).Text += " (" & elArray(I).Entries.Count & " rows)"
        Catch e As Exception
            ' do not display the restricted logfiles
            Trace.Write("BindEvents","Cannot Access " & logs.Items(I).Text & "(" & I & ")")
            Trace.Write("BindEvents","",e)
            logs.Items.Remove(logs.Items(I))
            I = I - 1    
        End Try
        I += 1
    Loop    
End Sub

Sub getMessages_Click(sender As object, e As EventArgs)
    GetLogEntries()
End Sub       

Sub clearLog_Click(sender As object, e As EventArgs)
    Response.Write("Clear is disabled  for this demo.")
    Return
    'Here is the code to do a Clear:
    Dim el As EventLog = new EventLog()
    el.MachineName = "."
    el.Log = logs.SelectedItem.Value.ToString()
    el.Clear()
    el.Close()
    BindEvents()
    GetLogEntries()
End Sub

Sub GetLogEntries()
    Dim el As EventLog = new EventLog()
    el.MachineName="."
    el.Log = logs.SelectedItem.Value.ToString()
    Dim alEvents As System.Collections.ArrayList = new System.Collections.ArrayList(el.Entries)
    alEvents.Reverse()
    messages.DataSource = alEvents
    messages.DataBind()
    el.Close()
End Sub

Function GetEventTypeDesc(elet As EventLogEntryType) As String
    Return elet.ToString()
End Function
</script>
<html>
    <head>
        <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
        <meta name="CODE_LANGUAGE" Content="C#">
    </head>
    <body>
        <form method="post" runat="server">
            <table border="1" cellpadding="0" cellspacing="0" style="font-size:12px;">
                <tr bgcolor="#CCCCFF">
                    <th>
                    Event Log
                    </th>
                    <th>
                    Action
                    </th>
                </tr>
                <tr>
                    <td>
                        <asp:DropDownList id="logs" runat="server">
                        </asp:DropDownList>
                    </td>
                    <td>
                        <asp:button id="getMessages" text="Get Events" onclick="getMessages_Click" runat="Server">
                        </asp:button>
                        <asp:button id="clearLog" text="Clear Events" onclick="clearLog_Click" runat="Server">
                        </asp:button>
                    </td>
                </tr>
            </table>
        </form>
        <asp:repeater id="messages" runat="Server">
            <HeaderTemplate>
                <table cellspacing="0" cellpadding="2" border="1" bgcolor="#FFFFFF" style="font-size:12px;">
                    <TBODY>
                        <tr bgcolor="#CCCCFF">
                            <th>
                            Type
                            </th>
                            <th>
                            Date/Time
                            </th>
                            <th>
                            Source
                            </th>
                            <th>
                            Category
                            </th>
                            <th>
                            Event
                            </th>
                            <th>
                            User
                            </th>
                            <th>
                            Computer
                            </th>
                            <th>
                            Message
                            </th>
                        </tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td>
                        <%#GetEventTypeDesc(CType(Container.DataItem,EventLogEntry).EntryType)%></td>
                    <td>
                        <%#CType(Container.DataItem,EventLogEntry).TimeGenerated%></td>
                    <td>
                        <%#CType(Container.DataItem,EventLogEntry).Source%></td>
                    <td>
                        <%#CType(Container.DataItem,EventLogEntry).Category%></td>
                    <td>
                        <%#CType(Container.DataItem,EventLogEntry).EventID%></td>
                    <td>
                        <%#CType(Container.DataItem,EventLogEntry).UserName + "&nbsp;"%></td>
                    <td>
                        <%#CType(Container.DataItem,EventLogEntry).MachineName%></td>
                    <td>
                        <%#CType(Container.DataItem,EventLogEntry).Message%></td>
                </tr>
            </ItemTemplate>
            <FooterTemplate>
            </TBODY>
            </TABLE>
            </FooterTemplate>
        </asp:repeater>
    </body>
</html>