public static ILog GetLogger(string arg, string name) { //It will create a repository for each different arg it will receive var repositoryName = arg; ILoggerRepository repository = null; var repositories = LogManager.GetAllRepositories(); foreach (var loggerRepository in repositories) { if (loggerRepository.Name.Equals(repositoryName)) { repository = loggerRepository; break; } } Hierarchy hierarchy = null; if (repository == null) { //Create a new repository repository = LogManager.CreateRepository(repositoryName); hierarchy = (Hierarchy)repository; hierarchy.Root.Additivity = false; //Add appenders you need: here I need a rolling file and a memoryappender var rollingAppender = GetRollingAppender(repositoryName); hierarchy.Root.AddAppender(rollingAppender); /* var memoryAppender = GetMemoryAppender(repositoryName); * hierarchy.Root.AddAppender(memoryAppender);*/ BasicConfigurator.Configure(repository); } //Returns a logger from a particular repository; //Logger with same name but different repository will log using different appenders return(LogManager.GetLogger(repositoryName, name)); }
public static void Main(string[] args) { BasicConfigurator.Configure(); CustomerManager customer = new CustomerManager(); List <Customer> customers = customer.GetAll(); Console.WriteLine($"{customers[0].LastName}"); //customer.Show(customer.GetAll()); List <int> ids = new List <int>(); ids.Add(Convert.ToInt32(Console.ReadLine())); customer.Delete(ids.ToArray()); //customer.Show(customer.GetAll()); Customer cs = customer.GetById(Convert.ToInt32(Console.ReadLine())); if (cs != null) { cs.FirstName = "sasadasddasa"; customer.Update(cs); } //customer.Show(customer.GetAll()); /* * for (int x = 1; x <= 5; x++) * { * Customer cs1 = new Customer(GenerateID.GetGeneratedID(), "casca", "a", "asd", "f", "sadasd", "asdas@masd", "cebu"); * customer.Add(cs1); * Console.WriteLine("a"); * } */ //customer.Add(cs1); //customer.Show(customer.GetAll()); }
public static void Main(string[] args) { // Initialize console and file logging. XmlConfigurator.Configure(new FileInfo(AppPath + "\\log4net.config")); BasicConfigurator.Configure(); try { if (Logger.IsInfoEnabled) { Logger.Info("Running application"); } // Run example classes // ConsumeReportingApi.Consume(); // ConsumeTransactionalApi.Consume(); // ConsumeCsvFile.Consume(); // GetEmployeesTransactionalApi.Consume(); // CreateProjectTransactionalApi.Consume(); // CreateProjectTransactionalApi2.Consume(); // InsertCustomerTest.Consume(); // CreateProjectsForAllCustomers.Consume(); CreateProjectsForCustomersInSql.Consume(); } catch (Exception ex) { // Catch any exception and report if (Logger.IsErrorEnabled) { Logger.Error("Application loop exception", ex); } } if (Logger.IsInfoEnabled) { Logger.Info("---"); Logger.Info("Application loop ended. Click to exit"); } // Wait for the user to end the application. Console.ReadKey(); }
public void GetLinkingMetadata_IsHandled_NullResult() { // Arrange LogManager.ShutdownRepository(Assembly.GetEntryAssembly()); var testAgent = Mock.Create <IAgent>(); Mock.Arrange(() => testAgent.GetLinkingMetadata()).Returns <Dictionary <string, string> >(null); var testAppender = new NewRelicAppender(() => testAgent); //Set the the NewRelicAppender at the root logger var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly()); BasicConfigurator.Configure(logRepository, testAppender); var testLogger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); var layout = Mock.Create <log4net.Layout.SimpleLayout>(); var childAppender = new log4net.Appender.ConsoleAppender { Layout = layout }; testAppender.AddAppender(childAppender); var testLoggingEvents = new List <LoggingEvent>(); Mock.Arrange(() => layout.Format(Arg.IsAny <TextWriter>(), Arg.IsAny <LoggingEvent>())).DoInstead((TextWriter textWriter, LoggingEvent loggingEvent) => { testLoggingEvents.Add(loggingEvent); }); // Act testLogger.Info("This is log message "); // Assert Assert.That(testLoggingEvents.Count, Is.EqualTo(1)); Assert.That(!testLoggingEvents[0].Properties.Contains("newrelic.linkingmetadata"), "newrelic.linkingmetadata property found. This test does not expect newrelic.linkingmetadata property in log event"); }
public void BracketsInStackTracesAreEscapedProperly() { XmlLayout layout = new XmlLayout(); StringAppender stringAppender = new StringAppender(); stringAppender.Layout = layout; ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); BasicConfigurator.Configure(rep, stringAppender); ILog log1 = LogManager.GetLogger(rep.Name, "TestLogger"); Action <int> bar = foo => { try { throw new NullReferenceException(); } catch (Exception ex) { log1.Error(string.Format("Error {0}", foo), ex); } }; bar(42); var log = stringAppender.GetString(); #if NETSTANDARD2_0 var startOfExceptionText = log.IndexOf("<exception>", StringComparison.Ordinal) + 11; var endOfExceptionText = log.IndexOf("</exception>", StringComparison.Ordinal); #else var startOfExceptionText = log.IndexOf("<exception>", StringComparison.InvariantCulture) + 11; var endOfExceptionText = log.IndexOf("</exception>", StringComparison.InvariantCulture); #endif var sub = log.Substring(startOfExceptionText, endOfExceptionText - startOfExceptionText); if (sub.StartsWith("<![CDATA[")) { StringAssert.EndsWith("]]>", sub); } else { StringAssert.DoesNotContain("<", sub); StringAssert.DoesNotContain(">", sub); } }
public static void SetUp(Assembly assembly, string fileName) { var patternLayout = new PatternLayout { ConversionPattern = "%date{yyyy-MM-dd hh:mm:ss tt} [%thread] %-5level %logger - %message%newline" }; patternLayout.ActivateOptions(); var consoleAppender = new ConsoleAppender { Threshold = Level.All, Name = "ConsoleAppender", Layout = patternLayout }; consoleAppender.ActivateOptions(); var debugAppender = new DebugAppender { Threshold = Level.All, Name = "DebugAppender", Layout = patternLayout }; debugAppender.ActivateOptions(); var roller = new RollingFileAppender { AppendToFile = true, File = $"{fileName}/Automation", Layout = patternLayout, DatePattern = ".yyyy-MM-dd.lo\\g", MaximumFileSize = "10MB", RollingStyle = RollingFileAppender.RollingMode.Date, StaticLogFileName = false }; roller.ActivateOptions(); BasicConfigurator.Configure(LoggerManager.GetRepository(assembly), consoleAppender, debugAppender, roller); }
static async Task AsyncMain() { Console.Title = "Samples.Logging.Log4NetCustom"; #region ConfigureLog4Net var layout = new PatternLayout { ConversionPattern = "%d [%t] %-5p %c [%x] - %m%n" }; layout.ActivateOptions(); var consoleAppender = new ConsoleAppender { Threshold = Level.Info, Layout = layout }; consoleAppender.ActivateOptions(); BasicConfigurator.Configure(consoleAppender); #endregion #region UseConfig LogManager.Use <Log4NetFactory>(); // Then continue with the endpoint configuration var endpointConfiguration = new EndpointConfiguration("Samples.Logging.Log4NetCustom"); #endregion endpointConfiguration.UsePersistence <LearningPersistence>(); endpointConfiguration.UseTransport <LearningTransport>(); var endpointInstance = await Endpoint.Start(endpointConfiguration) .ConfigureAwait(false); var myMessage = new MyMessage(); await endpointInstance.SendLocal(myMessage) .ConfigureAwait(false); Console.WriteLine("Press any key to exit"); Console.ReadKey(); await endpointInstance.Stop() .ConfigureAwait(false); }
public async Task TestLogicalThreadPropertiesPatternAsyncAwait() { StringAppender stringAppender = new StringAppender(); stringAppender.Layout = new PatternLayout("%property{" + Utils.PROPERTY_KEY + "}"); ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); BasicConfigurator.Configure(rep, stringAppender); ILog log1 = LogManager.GetLogger(rep.Name, "TestLogicalThreadPropertiesPattern"); log1.Info("TestMessage"); Assert.AreEqual(SystemInfo.NullText, stringAppender.GetString(), "Test no logical thread stack value set"); stringAppender.Reset(); string testValueForCurrentContext = "Outer"; LogicalThreadContext.Properties[Utils.PROPERTY_KEY] = testValueForCurrentContext; log1.Info("TestMessage"); Assert.AreEqual(testValueForCurrentContext, stringAppender.GetString(), "Test logical thread properties value set"); stringAppender.Reset(); var strings = await Task.WhenAll(Enumerable.Range(0, 10).Select(x => SomeWorkProperties(x.ToString()))); // strings should be ["00AA0BB0", "01AA1BB1", "02AA2BB2", ...] for (int i = 0; i < strings.Length; i++) { Assert.AreEqual(string.Format("{0}{1}AA{1}BB{1}", testValueForCurrentContext, i), strings[i], "Test logical thread properties expected sequence"); } log1.Info("TestMessage"); Assert.AreEqual(testValueForCurrentContext, stringAppender.GetString(), "Test logical thread properties value set"); stringAppender.Reset(); LogicalThreadContext.Properties.Remove(Utils.PROPERTY_KEY); log1.Info("TestMessage"); Assert.AreEqual(SystemInfo.NullText, stringAppender.GetString(), "Test logical thread properties value removed"); stringAppender.Reset(); }
private void ConfigureLogging() { // Fun tip: if you change the startup type of a WPF project to console you'll see // both the app windows and a console displaying the log output. var appender = new ColoredConsoleAppender { Threshold = Level.All, Layout = new PatternLayout( "[%logger{1}] - %message%newline" ), }; appender.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Debug, ForeColor = ColoredConsoleAppender.Colors.White }); appender.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Info, ForeColor = ColoredConsoleAppender.Colors.Green }); appender.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Warn, ForeColor = ColoredConsoleAppender.Colors.Yellow }); appender.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Error, ForeColor = ColoredConsoleAppender.Colors.Red }); appender.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Fatal, ForeColor = ColoredConsoleAppender.Colors.Red | ColoredConsoleAppender.Colors.HighIntensity, BackColor = ColoredConsoleAppender.Colors.Red }); appender.ActivateOptions(); BasicConfigurator.Configure(appender); }
public static void SetupLogging() { FileInfo LogFile = new FileInfo(".\\log.txt"); string LogLevel = "INFO"; var appender = new ConsoleAppender(); var layout = new PatternLayout { ConversionPattern = "%6level [%3thread] %-20.20logger{1} - %message%newline%exception" }; layout.ActivateOptions(); appender.Layout = layout; appender.ActivateOptions(); if (LogFile != null) { var fileAppender = new RollingFileAppender { File = LogFile.FullName, Layout = layout, MaximumFileSize = "1MB", MaxSizeRollBackups = 10, RollingStyle = RollingFileAppender.RollingMode.Size, ImmediateFlush = false, Threshold = Level.Debug }; fileAppender.ActivateOptions(); BasicConfigurator.Configure(appender, fileAppender); } else { BasicConfigurator.Configure(appender); } var repo = LogManager.GetRepository(); var level = repo.LevelMap[LogLevel.ToUpperInvariant()]; if (level == null) { throw new Exception("Invalid log level"); } repo.Threshold = level; }
public void TestAddingCustomPattern() { var stringAppender = new StringAppender(); var layout = new PatternLayout(); layout.AddConverter("TestAddingCustomPattern", typeof(TestMessagePatternConverter)); layout.ConversionPattern = "%TestAddingCustomPattern"; layout.ActivateOptions(); stringAppender.Layout = layout; var rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); BasicConfigurator.Configure(rep, stringAppender); var log1 = LogManager.GetLogger(rep.Name, "TestAddingCustomPattern"); log1.Info("TestMessage"); Assert.AreEqual("TestMessage", stringAppender.GetString(), "%TestAddingCustomPattern not registered"); }
public IActionResult Get() { try { var res = iMedicineStock.GetMedicineStock(); BasicConfigurator.Configure(); if (res != null) { log.Info("Medicine Stock Retrived"); return(Ok(res.ToList())); } log.Info("No details retrieved"); return(Content("No such details found please try again.")); } catch (Exception e) { log.Error("Excpetion:" + e.Message + " has occurred while trying to retrieve stock info."); return(Content("The following exception has occurred while retreving the stock." + e.Message + " Please try again")); } }
/// <summary> /// Parameterized constructor. /// </summary> /// <param name="configFile"></param> public Log4NetLoggerFactory(string configFile) { var file = new FileInfo(configFile); if (!file.Exists) { file = new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, configFile)); } if (file.Exists) { XmlConfigurator.ConfigureAndWatch(file); } else { BasicConfigurator.Configure(new ConsoleAppender { Layout = new PatternLayout() }); } }
void XplorerMainWindow_Loaded(object sender, RoutedEventArgs e) { // this enables a basic configuration for the logger. BasicConfigurator.Configure(); var model = IfcStore.Create(null, IfcSchemaVersion.Ifc2X3, XbimStoreType.InMemoryModel); ModelProvider.ObjectInstance = model; ModelProvider.Refresh(); // logging information warnings _appender = new EventAppender { Tag = "MainWindow" }; _appender.Logged += appender_Logged; var hier = LogManager.GetRepository() as Hierarchy; hier?.Root.AddAppender(_appender); }
private static IEnumerable <Tuple <string, Level, Exception> > GetAllRenderedMessagesWithExceptions(Action action) { var memoryAppender = new MemoryAppender(); BasicConfigurator.Configure(memoryAppender); LogHelper.SetLoggingLevel(Level.All); action(); List <Tuple <string, Level, Exception> > renderedMessages = memoryAppender.GetEvents() .Select(le => Tuple.Create(le.RenderedMessage, le.Level, le.ExceptionObject)) .ToList(); memoryAppender.Close(); LogHelper.ResetLogging(); return(renderedMessages); }
public void TestStackTracePattern() { StringAppender stringAppender = new StringAppender(); stringAppender.Layout = new PatternLayout("%stacktrace{2}"); ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); BasicConfigurator.Configure(rep, stringAppender); ILog log1 = LogManager.GetLogger(rep.Name, "TestStackTracePattern"); log1.Info("TestMessage"); #if !MONO Assert.AreEqual("RuntimeMethodHandle._InvokeMethodFast > PatternLayoutTest.TestStackTracePattern", stringAppender.GetString(), "stack trace value set"); #else Assert.AreEqual("MonoMethod.InternalInvoke > PatternLayoutTest.TestStackTracePattern", stringAppender.GetString(), "stack trace value set"); #endif stringAppender.Reset(); }
public ReplicationBase() { for (int i = 0; i < 15; i++) { database::Raven.Database.Extensions.IOExtensions.DeleteDirectory("Data #" + i); } var outputDebugStringAppender = new OutputDebugStringAppender { Layout = new SimpleLayout(), }; outputDebugStringAppender.AddFilter(new LoggerMatchFilter { AcceptOnMatch = true, LoggerToMatch = "Raven.Bundles" }); outputDebugStringAppender.AddFilter(new DenyAllFilter()); BasicConfigurator.Configure(outputDebugStringAppender); }
public static void ConfigureLogging(Level threshold) { var layout = new PatternLayout { ConversionPattern = "%d %-5p %c - %m%n" }; layout.ActivateOptions(); var appender = new ConsoleAppender { Layout = layout, Threshold = threshold }; appender.ActivateOptions(); BasicConfigurator.Configure(appender); LogManager.Use <Log4NetFactory>(); }
public static void ConfigureLogging(Level threshold) { PatternLayout layout = new PatternLayout { ConversionPattern = "%d %-5p %c - %m%n" }; layout.ActivateOptions(); ConsoleAppender appender = new ConsoleAppender { Layout = layout, Threshold = threshold }; appender.ActivateOptions(); BasicConfigurator.Configure(appender); SetLoggingLibrary.Log4Net(); }
public Server(int port) { Port = port; Enabled = false; Status = ServerStatus.Stopped; MaxConnections = 100; MaxQueuedConnections = 10; MOTD = "MUD Designer based game."; var file = new FileInfo(Path.Combine(Directory.GetCurrentDirectory(), "log4net.config")); if (file.Exists) { XmlConfigurator.ConfigureAndWatch(file); } else { BasicConfigurator.Configure(); } }
/// <summary> /// Default constructor /// </summary> static Logger() { LogInstance = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); // If error level reporting isn't enabled we assume no logger is configured and initialize a default // ConsoleAppender if (!LogInstance.Logger.IsEnabledFor(log4net.Core.Level.Error)) { IAppender appender = new ConsoleAppender { Layout = new log4net.Layout.PatternLayout("%timestamp [%thread] %-5level - %message%newline") }; BasicConfigurator.Configure(LogManager.GetRepository(Assembly.GetCallingAssembly()), appender); if (Settings.LOG_LEVEL != Helpers.LogLevel.None) { LogInstance.Info("No log configuration found, defaulting to console logging"); } } }
//public static void LoadADONetAppender() //{ // Hierarchy hier = LogManager.GetLoggerRepository() as log4net.Repository.Hierarchy.Hierarchy; // if (hier != null) // { // log4net.Appender.AdoNetAppender appender = new log4net.Appender.AdoNetAppender(); // appender.Name = "AdoNetAppender"; // appender.CommandType = CommandType.Text; // appender.BufferSize = 1; // appender.ConnectionType = "System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // appender.ConnectionString = _ConnectionString; // appender.CommandText = @"INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)"; // appender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@log_date", DbType = System.Data.DbType.DateTime, Layout = new log4net.Layout.RawTimeStampLayout() }); // appender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@thread", DbType = System.Data.DbType.String, Size = 255, Layout = new Layout2RawLayoutAdapter(new PatternLayout("%thread")) }); // appender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@log_level", DbType = System.Data.DbType.String, Size = 50, Layout = new Layout2RawLayoutAdapter(new PatternLayout("%level")) }); // appender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@logger", DbType = System.Data.DbType.String, Size = 255, Layout = new Layout2RawLayoutAdapter(new PatternLayout("%logger")) }); // appender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@message", DbType = System.Data.DbType.String, Size = 4000, Layout = new Layout2RawLayoutAdapter(new PatternLayout("%message")) }); // appender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@exception", DbType = System.Data.DbType.String, Size = 4000, Layout = new Layout2RawLayoutAdapter(new ExceptionLayout()) }); // appender.ActivateOptions(); // BasicConfigurator.Configure(appender); // } //} public static void LoadFileAppender() { FileAppender appender = new FileAppender(); appender.Name = "FileAppender"; appender.File = "error.log"; appender.AppendToFile = true; PatternLayout patternLayout = new PatternLayout(); patternLayout.ConversionPattern = _ConversionPattern; patternLayout.ActivateOptions(); appender.Layout = patternLayout; //选择UTF8编码,确保中文不乱码。 appender.Encoding = Encoding.UTF8; appender.ActivateOptions(); BasicConfigurator.Configure(appender); }
/// <summary> /// Default constructor /// </summary> static Logger() { LogInstance = LogManager.GetLogger("OpenMetaverse"); // If error level reporting isn't enabled we assume no logger is configured and initialize a default // ConsoleAppender if (!LogInstance.Logger.IsEnabledFor(log4net.Core.Level.Error)) { log4net.Appender.ConsoleAppender appender = new log4net.Appender.ConsoleAppender { Layout = new log4net.Layout.PatternLayout("%timestamp [%thread] %-5level - %message%newline") }; BasicConfigurator.Configure(appender); if (Settings.LOG_LEVEL != Helpers.LogLevel.None) { LogInstance.Info("No log configuration found, defaulting to console logging"); } } }
public IActionResult Get() { try { var res = iMedicineStock.GetMedicineStock(); BasicConfigurator.Configure(); if (res != null) { log.Info("Medicine Stock Retrieved"); return(Ok(res.ToList())); } log.Info("No details retrieved"); return(NotFound("No such details found please try again.")); } catch (Exception e) { log.Error("Exception:" + e.Message + " has occurred while trying to retrieve stock info."); return(StatusCode(500)); } }
void IWantCustomLogging.Init() { PatternLayout layout = new PatternLayout { ConversionPattern = "%d %-5p %c - %m%n" }; layout.ActivateOptions(); ConsoleAppender appender = new ConsoleAppender { Layout = layout, Threshold = Level.Info }; appender.ActivateOptions(); BasicConfigurator.Configure(appender); SetLoggingLibrary.Log4Net(); }
public void LotsOfData() { BasicConfigurator.Configure(); var root = (LogManager.GetRepository() as Hierarchy).Root; root.RemoveAllAppenders(); root.AddAppender(new MongoAppender { CollectionName = "biglog", MongoConnectionString = _MongoConnectionString }); var log = LogManager.GetLogger("test"); foreach (var i in Enumerable.Range(0, 100000)) { log.Error(new RandomMessage { Number = i, String = Guid.NewGuid().ToString() }); } }
private void Start() { BasicConfigurator.Configure(); // for TopShelf until it upgrades NLog.Config.SimpleConfigurator.ConfigureForConsoleLogging(); _logger.Info("setting up domain service, installing components"); _Container = new WindsorContainer() .Install( new RavenDbServerInstaller(), new CommandHandlerInstaller(), new EventStoreInstaller(), new BusInstaller(Keys.DomainServiceEndpoint) ); _Container.Register(Component.For <IWindsorContainer>().Instance(_Container)); _Bus = _Container.Resolve <IServiceBus>(); _logger.Info("application configured, started running"); }
private async Task CreateAndConfigureOutputPaneAppenderAsync() { await JoinableTaskFactory.SwitchToMainThreadAsync(); _outputPane = await GetServiceAsync(typeof(SVsOutputWindow)) as IVsOutputWindow; Assumes.Present(_outputPane); if (_outputPane == null) { s_log.Error("Unable to add output pane log appender (output pane not available)"); return; } _outputPane.CreatePane(ref GuidOutputPaneAppender, "LicenseHeaderManager", 1, 1); _outputPaneAppender = new OutputPaneAppender(_outputPane, Level.Info); _outputPaneAppender.ActivateOptions(); BasicConfigurator.Configure(_outputPaneAppender); }
public EndpointConfig() { PatternLayout layout = new PatternLayout { ConversionPattern = "%d %-5p %c - %m%n" }; layout.ActivateOptions(); ConsoleAppender appender = new ConsoleAppender { Layout = layout, Threshold = Level.Info }; appender.ActivateOptions(); BasicConfigurator.Configure(appender); LogManager.Use <Log4NetFactory>(); }
static Log4Helper() { if (File.Exists(Log4NetConfigFile)) { if (Environment.OSVersion.Platform == PlatformID.Win32NT) { XmlConfigurator.ConfigureAndWatch(new FileInfo(Log4NetConfigFile)); } else { XmlConfigurator.Configure(new FileInfo(Log4NetConfigFile)); } } else { BasicConfigurator.Configure(); } ILogger = GetLogger(typeof(Log4Helper)); }