public void TestAppender2() { CountingAppender a1 = new CountingAppender(); a1.Name = "testAppender2.1"; CountingAppender a2 = new CountingAppender(); a2.Name = "testAppender2.2"; log = Utils.GetLogger("test").Logger; log.AddAppender(a1); log.AddAppender(a2); CountingAppender aHat = (CountingAppender)log.GetAppender(a1.Name); Assert.AreEqual(a1, aHat); aHat = (CountingAppender)log.GetAppender(a2.Name); Assert.AreEqual(a2, aHat); log.RemoveAppender("testAppender2.1"); IEnumerator enumAppenders = ((IEnumerable)log.AppenderSet).GetEnumerator(); Assert.IsTrue(enumAppenders.MoveNext()); aHat = (CountingAppender)enumAppenders.Current; Assert.AreEqual(a2, aHat); Assert.IsTrue(!enumAppenders.MoveNext()); aHat = (CountingAppender)log.GetAppender(a2.Name); Assert.AreEqual(a2, aHat); }
public void TestDisable1() { CountingAppender caRoot = new CountingAppender(); ILogger root = Utils.GetController().Root; root.AddAppender(caRoot); ILoggerController h = Utils.GetController(); h.Threshold = Level.Info; h.Initialize(); Assert.AreEqual(caRoot.Counter, 0); root.Log(Level.Debug, MSG, null); Assert.AreEqual(caRoot.Counter, 0); root.Log(Level.Info, MSG, null); Assert.AreEqual(caRoot.Counter, 1); root.Log(Level.Warn, MSG, null); Assert.AreEqual(caRoot.Counter, 2); root.Log(Level.Warn, MSG, null); Assert.AreEqual(caRoot.Counter, 3); h.Threshold = Level.Warn; root.Log(Level.Debug, MSG, null); Assert.AreEqual(caRoot.Counter, 3); root.Log(Level.Info, MSG, null); Assert.AreEqual(caRoot.Counter, 3); root.Log(Level.Warn, MSG, null); Assert.AreEqual(caRoot.Counter, 4); root.Log(Level.Error, MSG, null); Assert.AreEqual(caRoot.Counter, 5); root.Log(Level.Assert, MSG, null); Assert.AreEqual(caRoot.Counter, 6); root.Log(Level.Exception, MSG, null); Assert.AreEqual(caRoot.Counter, 7); h.Threshold = Level.Off; root.Log(Level.Debug, MSG, null); Assert.AreEqual(caRoot.Counter, 7); root.Log(Level.Info, MSG, null); Assert.AreEqual(caRoot.Counter, 7); root.Log(Level.Warn, MSG, null); Assert.AreEqual(caRoot.Counter, 7); root.Log(Level.Error, MSG, null); Assert.AreEqual(caRoot.Counter, 7); root.Log(Level.Assert, MSG, null); Assert.AreEqual(caRoot.Counter, 7); root.Log(Level.Exception, MSG, null); Assert.AreEqual(caRoot.Counter, 7); }
public void TestAppender1() { log = Utils.GetLogger("test").Logger; CountingAppender a1 = new CountingAppender(); a1.Name = "testAppender1"; log.AddAppender(a1); IEnumerator enumAppenders = ((IEnumerable)log.AppenderSet).GetEnumerator(); Assert.IsTrue(enumAppenders.MoveNext()); CountingAppender aHat = (CountingAppender)enumAppenders.Current; Assert.AreEqual(a1, aHat); }
static void Main(string[] args) { Console.Write(typeof(string).Assembly.ImageRuntimeVersion); Console.ReadKey(); ////////////// LOGGER //////////////////// /************ CONSOLE *******************/ // 1. Get a LoggerManager LoggerManager loggerManager = new LoggerManager(); //// 2. Create a new Logger ILogger myLogger = loggerManager.CreateLogger(); ////3. Log myLogger.Log("Hello World !"); /************ CONSOLE with custom log pattern *******************/ ////////////// TESTS 1 //////////////////// ILogger myLogger2 = loggerManager.CreateLogger("testLogger"); string myPattern = LogElements.LOGGER_NAME.StrRef() + " / " + LogElements.MESSAGE.StrRef() + " / " + LogElements.TIMESTAMP.StrRef(); ConsoleAppender myConsoleApp = (ConsoleAppender)myLogger2.AddAppender(AppenderType.CONSOLE); myConsoleApp.Layout = myPattern; myLogger2.Error("Salut les gens ;)"); ////////////// TESTS 2 //////////////////// /************ Not log if log level lower than logger level *******************/ ILogger myLogger3 = loggerManager.CreateLogger("testLogger3"); myLogger3.Level = Level.ERROR; myLogger3.Trace("Un nouveau log"); // doesn't log ////////////// TESTS 3 //////////////////// /************ Duplicate Log **************/ ILogger myLogger4 = loggerManager.CreateLogger("testLogger4"); myLogger4.Level = Level.DEBUG; myLogger4.Warn("Un warn log"); ILogger myLogger4_2 = loggerManager.DuplicateLogger("testLogger4"); myLogger4_2.Warn("Un warn log dupliqué"); //string myLogger4Name = myLogger4.Name; //string myLogger4Parent = myLogger4.Parent; //Console.WriteLine(myLogger4Name); //Console.WriteLine("Parent : " + myLogger4Parent); //string myLogger4_2Name = myLogger4_2.Name; //string myLogger4_2Parent = myLogger4_2.Parent; //Console.WriteLine(myLogger4_2Name); //Console.WriteLine("Parent : " + myLogger4_2Parent); ////////////// TESTS 5 //////////////////// /************ MESSAGE BOX **************/ ILogger myLogger5 = loggerManager.CreateLogger("testLogger5"); MessageBoxAppender myConsoleApp5 = (MessageBoxAppender)myLogger5.AddAppender(AppenderType.MESSAGE_BOX); ModalBox myBox = new ModalBox(LogElements.LOGGER_NAME.StrRef()); myConsoleApp5.Box = myBox; myLogger5.Warn("Bonjour !"); ////////////// TESTS 6 //////////////////// /************ MESSAGE BOX **************/ ILogger myLogger6 = loggerManager.CreateLogger("testLogger6"); MessageBoxAppender myConsoleApp6 = (MessageBoxAppender)myLogger6.AddAppender(AppenderType.MESSAGE_BOX); string captionPattern = LogElements.TIMESTAMP.StrRef() + " - " + LogElements.LEVEL.StrRef(); ModalBox myBox2 = new ModalBox(captionPattern, MessageBoxIcon.Error); myBox2.Buttons = MessageBoxButtons.OKCancel; myBox2.SetAction(DialogResult.OK, () => Console.WriteLine("Anne")); myConsoleApp6.Box = myBox2; myLogger6.Error("Bonjour !"); //myLogger6.Trace("Bonjour Trace !"); //myLogger6.Debug("Bonjour Debug !"); //myLogger6.Info("Bonjour info !"); //myLogger6.Warn("Bonjour warn !"); ////////////// TESTS 7 //////////////////// /************ TOAST **************/ ToastAppender mytoastApp6 = (ToastAppender)myLogger6.AddAppender(AppenderType.TOAST); string ligne1 = LogElements.TIMESTAMP.StrRef("T") + " - " + LogElements.LOGGER_NAME.StrRef(); string ligne2 = LogElements.MESSAGE.StrRef(); ToastLayout toastLay = new ToastLayout(ligne1, ligne2); mytoastApp6.ToastLayout = toastLay; myLogger6.Error("Bonjour Bonjour!"); myLogger6.Error("Bonjour Hello!"); ////////////// TESTS 8 //////////////////// /************ DATABASE **************/ // Database information MySqlDatabase dbSettings = DatabaseFactory.MySqlDb.Set .DatabaseName("logDb") .Server("localhost") .UserId("root").ToMySqlDatabase; // Create a logger ILogger myLog = loggerManager.CreateLogger("myLog"); // Create a database Appender (correspond à une base de donnée) DataBaseAppender myDbApp = (DataBaseAppender)myLog.AddAppender(AppenderType.DATABASE); myDbApp.AttachDB(dbSettings); myLog.Error("Game Modeler !"); ////////////// TESTS 8 //////////////////// /************ MESSAGE_BOX_CUSTOM with Xaml file **************/ // Create a logger ILogger myLogger7 = loggerManager.CreateLogger("testLogger7"); // Create a database Appender (correspond à une base de donnée) IAppender myMBCApp = myLogger7.AddAppender(AppenderType.MESSAGE_BOX_CUSTOM, typeof(MessageBoxCustom)); myLogger7.Error("Game Modeler !"); myLogger7.Error("Game Modeler 2!"); ////////////// TESTS 9 //////////////////// /************ FILE APPENDER **************/ var myFileApp = (FileAppender)myLogger7.AddAppender(AppenderType.FILE); myFileApp.Set.Name("testLoggerXml") .Path(@"C:\Users\") .Type(FileAppenderType.TEXT); myLogger7.Error("test du logger"); myLogger7.Info("deuxième log"); }
/// <summary> /// Initialise la gestion des log /// </summary> /// <param name="LoggerName">Nom du Looger</param> /// <param name="MonType">Type d'appender pour le Logger</param> /// <param name="DestInfo">Information de destination pour l'appender (nom du fichier, connection BDD, etc.)</param> /// <param name="Origin">Nom de l'application courante</param> /// <param name="Scope">périmètre fonctionnel de l'application (Nom du SI)</param> /// <param name="CurLogLevel">Niveau de Log minimum déclenchant l'enregistrement d'un message</param> public static void InitZeLogger(string LoggerName, LoggerType MonType, Object DestInfo, string Origin, string Scope, Nullable<LogLevel> CurLogLevel = null) { if (CurLogLevel == null) { CurLogLevel = DefaultLogLevel; }; _ZeLogger = new Logger(LoggerName, (LogLevel) CurLogLevel, Origin, Scope, null); ILogAppender MonAppender; switch (MonType) { case LoggerType.FileLogger: MonAppender = new TextFileAppender(LoggerName, (string)DestInfo); break; default: MonAppender = new TextFileAppender(LoggerName); break; } _ZeLogger.AddAppender(MonAppender); }