.NET Tip: Logging Exceptions to the Event Log Oakland CA

The system event log is a good place to store information about your .NET application, and writing entries to the event log is fairly straightforward. You can easily add the code for it to a utility class.

Local Companies

Propertyware
(415) 455-2400
575 Market St., Ste. 375
San Francisco, CA
International Business Machines Corporation
(415) 545-2000
425 Market St.
San Francisco, CA
ClearKite
(866) 894-8090
355 Berry St., Ste. 240
San Francisco, CA
Speller & Company LLC
415-848-3022
795 Folsom Street
San Francisco, CA
Mindjet Corporation
(415) 229-4200
1160 Battery St., 4th Flr
San Francisco, CA
OpCon Technologies, Inc.
(415) 439-5389
50 California St., Ste. 1500
San Francisco, CA
Science Applications International Corporation (SAIC)
(415) 202-1800
1275 Columbus Ave.
San Francisco, CA
Microsoft Corporation
(415) 972-6400
835 Market St., Ste. 700
San Francisco, CA
San Francisco Technologies, Inc.
(866) 992-2543
123 10th St.
San Francisco, CA
Streetline Networks
(650) 714-5528
995 Market St., 16th Flr.
San Francisco, CA

provided by: 
Originally published at Internet.com


Assuming you have Remote Desktop or some other access to a server, the system event log is a good place to store information about your application. I personally prefer to put some information into the database, but errors such as the inability to make a database connection obviously would preclude you from storing an error in the database.

The code to write entries to the event log is fairly straightforward and can easily be added to a base page class or other utility class for ease of use. To configure how the event log writer works, you also can use the configuration file and either a custom configuration section or the standard AppSettings area.

The following code creates three public functions and a private one to do the real work. You easily can read the code to determine which type of entry is being created: public void LogInformation(string message) { LogEntry(message, EventLogEntryType.Information); } public void LogWarning(string message) { LogEntry(message, EventLogEntryType.Warning); } public void LogError(string message) { LogEntry(message, EventLogEntryType.Error); } private void LogEntry(string message, EventLogEntryType logType) { if (!EventLog.SourceExists("NCS.Web")) EventLog.CreateEventSource("NCS.Web", "Application"); EventLog ncsLog = new EventLog(); ncsLog.Source = "NCS.Web"; ncsLog.WriteEntry(message, logType); }

Each call to LogEntry passes a EventLogEntryType constant, which can be one of the three shown or SuccessAudit or FailureAudit. Inside the LogEntry routine, the code first determines whether an event source called NCS.Web (the internal name for the application) has been created. If it hasn't, it creates the event source with a name and location where the log should be stored—whether it should go to the Application, Security, or System log, or a custom log you can create. In this case, the log entries are placed into the Application log, and then an EventLog object is created, the source is set, and the message is written out. You also can specify an event ID and/or a category for the log entry. This makes it easier to sort through the logs when you are diagnosing a problem.

To make this routine more useful, you also could write the events to a database table or to a flat file because it can be somewhat difficult to view the logs from a Web site.

About the Author

Eric Smith is the owner of Northstar Computer Systems, a Web-hosting company based in Indianapolis, Indiana. He is also a MCT and MCSD who has been developing with .NET since 2001. In addition, he has written or contributed to 12 books covering .NET, ASP, and Visual Basic.

Author: Eric Smith

Read article at Internet.com site

Featured Local Company

Propertyware

(415) 455-2400
575 Market St., Ste. 375
San Francisco, CA

Related Local Events
MACWORLD 2010
Dates: 1/4/2010 - 1/8/2010
Location: Moscone Convention Center
San Francisco, CA
View Details

Informex USA
Dates: 2/16/2010 - 2/19/2010
Location: Moscone Convention Center, San Francisco
San Francisco, CA
View Details

Advanced Lithography
Dates: 2/21/2010 - 2/26/2010
Location: San Jose Convention Center
San Jose, CA
View Details

Contraceptive Technology Conference : San Francisco
Dates: 3/24/2010 - 3/27/2010
Location: Hyatt Regency Hotel
San Francisco, CA
View Details

Web 2.0 Summit
Dates: 10/20/2009 - 10/22/2009
Location: Westin San Francisco Market Street
San Francisco, CA
View Details