Click here to Skip to main content
15,886,772 members
Articles / Web Development / ASP.NET

A log4net Realtime Color Console for ASP.NET

Rate me:
Please Sign up or sign in to vote.
4.78/5 (17 votes)
26 Jan 2007CPOL4 min read 97.6K   1.3K   69  
An article on how to create a real-time log4net color console viewer for ASP.NET applications.
Imports System.Net.Sockets
Imports System.Net
Module UdpLogListener
	Private ReadOnly Log As log4net.ILog = _
	 log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)

	Sub Main()

		Dim Port As Integer = 8081	   ' <-- remember to use the same port in your web/source app.
		Dim Sender As IPEndPoint
		Dim Client As UdpClient
		Dim Buffer As Byte()
		Dim LogLine As String

		Try
			Sender = New IPEndPoint(IPAddress.Any, 0)
			Client = New UdpClient(Port)

			While True
				Buffer = Client.Receive(Sender)
				LogLine = System.Text.Encoding.Default.GetString(Buffer)
				' The color	coded text is written to the console when Log.{level method} is called.
				' i.e. Log.Info("my info")
				' Optional: Replace your placeholders with whatever you like. [I]=Info, [D]=Debug, etc.
				'			More detail about placeholders in the UdpAppender config below.
				If LogLine.IndexOf("{INFO}") >= 0 Then
					Log.Info(LogLine.Replace("{INFO}", "[I] "))
				ElseIf LogLine.IndexOf("{DEBUG}") >= 0 Then
					Log.Debug(LogLine.Replace("{DEBUG}", "[D] "))
				ElseIf LogLine.IndexOf("{ERROR}") >= 0 Then
					Log.Error(LogLine.Replace("{ERROR}", "[E] "))
				ElseIf LogLine.IndexOf("{WARN}") >= 0 Then
					Log.Warn(LogLine.Replace("{WARN}", "[W] "))
				Else
					' Some other level.
					Log.Warn(LogLine)
				End If
			End While

		Catch e As Exception
			Console.WriteLine(e)
			Console.WriteLine(vbCrLf & "Press any key to close...")
			Console.ReadLine()
		End Try

	End Sub
End Module

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) @Everywhere
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions