public void LmsGetLoggedApplicationStop() { Assembly a = Assembly.GetExecutingAssembly(); string fullPath = a.CodeBase; fullPath = Path.GetDirectoryName(fullPath); fullPath = Path.GetDirectoryName(fullPath); fullPath = Path.GetDirectoryName(fullPath); fullPath = Path.GetDirectoryName(fullPath); fullPath = Path.Combine(fullPath, "IUDICO.LMS", "log.xml"); ILmsService service = new LmsService(new WindsorContainer()); fullPath = fullPath.Remove(0, 6); XmlConfigurator.Configure(new FileInfo(fullPath)); ILog log = LogManager.GetLogger(typeof(ILmsService)); service.Inform(LMSNotifications.ApplicationStop); FileAppender rootAppender = (FileAppender)((Hierarchy)LogManager.GetRepository()).Root.Appenders[0]; fullPath = rootAppender.File; rootAppender.Close(); StreamReader reader = new StreamReader(fullPath); string toRead = reader.ReadToEnd(); Assert.IsTrue(toRead.IndexOf("Notification:application/stop") != -1); }
/// <summary> /// Closes session logger /// </summary> public void CloseSessionLogger() { if (connectionAppender != null && fileAppender != null) { connectionAppender.RemoveAppender(fileAppender); fileAppender.Close(); } }
static void Main(string[] args) { var simpleFormatter = new SimpleFormatter(); var xmlFormatter = new XmlFormatter(); var jsonFormatter = new JSONFormatter(); var consoleAppender = new ConsoleAppender(xmlFormatter); var fileAppender = new FileAppender(xmlFormatter, "log.txt"); Logger logger = new Logger(consoleAppender, fileAppender); logger.Critical("Out of memory!"); logger.Info("Unused local variable 'name'"); fileAppender.Close(); }
private void CreateAndConfigureFileAppender(string solutionName) { var logPath = OptionsFacade.DefaultLogPath; _fileAppender?.Close(); _fileAppender = new FileAppender { Threshold = Level.Debug, AppendToFile = true, File = Path.Combine(logPath, $"LicenseHeaderManager_{solutionName}_{DateTime.Now:yyyy-MM-dd_HH-mm-ss}.log"), Layout = new PatternLayout("%date [%-5level] %logger: %message%newline") }; _fileAppender.ActivateOptions(); BasicConfigurator.Configure(_fileAppender); }
public static void Main() { var simpleFormat = new SimpleFormatter(); var xmlFormat = new XmlFormatter(); var consoleAppender = new ConsoleAppender(xmlFormat); var fileAppender = new FileAppender(xmlFormat, "log.txt"); var logger = new Logger(consoleAppender); try { logger.Critical("Out of Memory"); logger.Info("Unused local variable 'name'"); } finally { fileAppender.Close(); } }
public static void Main() { var simpleFormatter = new SimpleFormatter(); var xmlFormatter = new XmlFormatter(); // Create own formatter var jsonFormatter = new JsonFormatter(); var fileAppender = new FileAppender(jsonFormatter, "log.txt"); var consoleAppender = new ConsoleAppender(xmlFormatter); // Create own appender var sqlAppender = new SqlAppender(jsonFormatter); Logger logger = new Logger(consoleAppender, fileAppender); logger.Critical("Out of memory"); logger.Info("Unused local variable 'name'"); fileAppender.Close(); }
static void Main() { // Introduce custom formatter IFormatter formatter = new CrazyFormatter(); FileAppender appender = new FileAppender("file.txt", formatter); Logger logger = new Logger(appender); try { logger.Critical("a cannot be 5"); logger.Critical("Out of memory"); // CauseException(); logger.Info("Unused local variable 'name'"); } finally { appender.Close(); } }
public static void Append(string message, LogTypes logTypes) { ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository(); PatternLayout patternLayout = new PatternLayout(); patternLayout.ConversionPattern = "%date/ %level/ %logger/ %message%newline"; patternLayout.ActivateOptions(); FileAppender fileAppender = new FileAppender(); fileAppender.AppendToFile = true; fileAppender.File = "KayseriLog.txt"; fileAppender.Layout = patternLayout; fileAppender.ActivateOptions(); hierarchy.Root.AddAppender(fileAppender); hierarchy.Root.Level = Level.Info; hierarchy.Configured = true; switch (logTypes) { case LogTypes.INFO: log.Info(message); break; case LogTypes.WARN: log.Warn(message); break; case LogTypes.ERROR: log.Error(message); break; } fileAppender.Close(); }
/// <summary> /// Clears the log file from any entries /// </summary> public void Clear() { try { FileAppender fAppender = (FileAppender)((Hierarchy)LogManager.GetRepository()).Root.Appenders[0]; FileInfo logFile = new FileInfo(fAppender.File); // Close our output and delete the log file fAppender.Close(); logFile.Delete(); // Initialize the logger again InitializeLogger(); LogStartMarker(); } catch (Exception ex) { throw new Exception("Error while attempting to access the zeroth appender to Clear() the log file.", ex); } }
private static void FlushLogFile(FileAppender file) { string fle = file.File; if (!string.IsNullOrEmpty(fle)) { lock (LockObject) { //log4net.Layout.ILayout layout = file.Layout; file.Close(); //file = null; LastLogFile = fle + "_" + DateTime.Now.ToString("yyyyMMdd") + ".log"; try { if (System.IO.File.Exists(LastLogFile)) { System.IO.File.Delete(LastLogFile); } System.Threading.Thread.Sleep(100); System.IO.File.Move(fle, LastLogFile); string configFile = Assembly.GetEntryAssembly().Location + ".config"; FileInfo f = new FileInfo(configFile); log4net.Config.XmlConfigurator.ConfigureAndWatch(f); } catch (Exception ex) { if (_log.IsWarnEnabled) { _log.Warn("Exception trying to flush log file:", ex); } } } } System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(PurgeOldLogFiles), file); }