Beispiel #1
0
        static void Main(string[] args)
        {
            LoggerHandlerBase fatalHandler1 = new FatalHandler();
            LoggerHandlerBase errorHandler1 = new ErrorHandler();
            LoggerHandlerBase infoHandler1  = new InfoHandler();
            LoggerHandlerBase debugHandler1 = new DebugHandler();

            LoggerHandlerBase logRoot1 = fatalHandler1;

            fatalHandler1.SetNext(errorHandler1);
            errorHandler1.SetNext(infoHandler1);
            infoHandler1.SetNext(debugHandler1);

            LoggerHandlerBase fatalHandler2 = new FatalHandler();
            LoggerHandlerBase errorHandler2 = new ErrorHandler();
            LoggerHandlerBase infoHandler2  = new InfoHandler();
            LoggerHandlerBase debugHandler2 = new DebugHandler();

            LoggerHandlerBase logRoot2 = debugHandler2;

            debugHandler2.SetNext(infoHandler2);
            infoHandler2.SetNext(errorHandler2);
            errorHandler2.SetNext(fatalHandler2);

            Console.WriteLine("*** Logger Handler ***\n");
            Console.WriteLine("First concatination : fatal -> error -> info -> debug");
            Console.WriteLine("======================================================");
            logRoot1.Handle(1, "System is going down!");
            logRoot1.Handle(2, "Error 400");
            logRoot1.Handle(3, "Alarm, don't have enough memory");
            logRoot1.Handle(4, "Debug info");

            Console.WriteLine("\n------------------------------------------------------\n");
            Console.WriteLine("Second concatination : debug -> info -> error -> fatal");
            Console.WriteLine("======================================================");
            logRoot2.Handle(1, "System is going down!");
            logRoot2.Handle(2, "Error 400");
            logRoot2.Handle(3, "Alarm, don't have enough memory");
            logRoot2.Handle(4, "Debug info");
        }
Beispiel #2
0
 public void SetNext(LoggerHandlerBase next)
 {
     this.next = next;
 }