Information Technology Reference
In-Depth Information
Yo u c r e a t e a n e v e n t f o r e a c h s u b s y s t e m . C l i e n t s r e g i s t e r o n t h e e v e n t t h a t
is pertinent to their subsystems.
The extended Logger class has a System.ComponentModel.EventHandlerList
container that stores all the event objects that should be raised for a given
system. The updated AddMsg() method now takes a string parameter that
specifies the subsystem generating the log message. If the subsystem has
any listeners, the event gets raised. Also, if an event listener has registered
an interest in all messages, its event gets raised:
public sealed class Logger
{
private static System.ComponentModel. EventHandlerList
Handlers = new EventHandlerList ();
static public void AddLogger(
string system, EventHandler < LoggerEventArgs > ev)
{
Handlers.AddHandler(system, ev);
}
static public void RemoveLogger( string system,
EventHandler < LoggerEventArgs > ev)
{
Handlers.RemoveHandler(system, ev);
}
static public void AddMsg( string system,
int priority, string msg)
{
if (! string .IsNullOrEmpty(system))
{
EventHandler < LoggerEventArgs > l =
Handlers[system] as
EventHandler < LoggerEventArgs >;
LoggerEventArgs args = new LoggerEventArgs (
priority, msg);
if (l != null )
l( null , args);
Search WWH ::




Custom Search