Click here to Skip to main content
12,554,953 members (56,674 online)
Click here to Skip to main content
Add your own
alternative version


16 bookmarked

A TraceListener that sends messages via UDP

, 28 Jul 2004 CPOL
Rate this:
Please Sign up or sign in to vote.
An implementation of a TraceListener that sends messages across the network.


Generating application log messages is important for diagnosing and testing a system, and a must for complex and large systems. .NET framework currently provides EventLogTraceListener and TextWriterTraceListener, which work fine for desktop applications; but for more complex server applications which need to be monitored/tested remotely, there is no solution.

Hence, I wrote this small utility NetTraceListener class that extends from TraceListener and outputs log messages to a defined UDP port.


You would require a basic UDP notes collector to see the UDP messages.


The entire source file is written in less than 20 lines of code.

The constructor takes a host name (e.g., "") and a port number, it creates a UDPClient object that is used to send UDP messages.

UdpClient notifier; 
IPEndPoint groupEP; 
public TraceNetListener( string host, int port ) 
 groupEP = new IPEndPoint( IPAddress.Parse( host ) ,port );
 notifier = new UdpClient(); 

The overridden method Close():

public override void Close() 
    base.Close ();

The overridden method Write(), it converts the supplied message into bytes, and sends them over a UDP channel.

public override void Write(string message) 
  byte[] bytes = Encoding.ASCII.GetBytes(message);
  notifier.Send(bytes, bytes.Length, groupEP);
 catch (Exception e) 

Now in your main application, you need to add this class as a trace listener.

Trace.Listeners.Add( new TraceNetListener("", 11000 )); 
Trace.Write("HELLO WORLD !");

And you are all set. When you execute this code, your UDP NoteCollector will get all your trace messages.


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


About the Author

Mayank Gupta
Web Developer
Australia Australia
No Biography provided

You may also be interested in...


Comments and Discussions

General"UPD receiver" or "UDP notes collector" Pin
StarCraft28-Apr-07 9:59
memberStarCraft28-Apr-07 9:59 
GeneralSome thoughts Pin
D. Emilio Grimaldo Tuñon4-Mar-05 23:06
memberD. Emilio Grimaldo Tuñon4-Mar-05 23:06 
GeneralGreat Idea Pin
Jubjub12-Jan-05 15:11
memberJubjub12-Jan-05 15:11 
GeneralFile download link is broke Pin
Eric Engler2-Aug-04 9:51
memberEric Engler2-Aug-04 9:51 
GeneralTraceTool Pin
Thierry Parent29-Jul-04 19:33
memberThierry Parent29-Jul-04 19:33 
GeneralRe: TraceTool Pin
mitchellm4425-Jun-08 8:44
membermitchellm4425-Jun-08 8:44 
GeneralProblems Pin
Alois Kraus29-Jul-04 3:49
memberAlois Kraus29-Jul-04 3:49 
GeneralRe: Problems Pin
Mayank Gupta29-Jul-04 19:39
memberMayank Gupta29-Jul-04 19:39 
GeneralRe: Problems Pin
Thomas Lykke Petersen24-Jun-07 22:36
memberThomas Lykke Petersen24-Jun-07 22:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.161021.1 | Last Updated 29 Jul 2004
Article Copyright 2004 by Mayank Gupta
Everything else Copyright © CodeProject, 1999-2016
Layout: fixed | fluid