public NapLogger(string host, string logName, LogEnvironmentType environment, string logLevel) { _logger = LogManager.GetLogger(logName); _logLevel = _logger.Logger.Repository.LevelMap[logLevel]; #region add NapGelfAppender var napGelfAppender = new NapGelfAppender(host) { Name = "NapGelfAppender", Threshold = _logLevel, Layout = new GelfLayout { Facility = "NapGelfAppender", AdditionalFields = "AppVersion:" + EntryAssemblyVersion + "," + "Environment:" + Enum.GetName(typeof(LogEnvironmentType), environment) + "," + "Level:%level", ConversionPattern = "[%t] - %m", IncludeLocationInformation = true } }; napGelfAppender.ActivateOptions(); BasicConfigurator.Configure(napGelfAppender); #endregion add NapGelfAppender #region add gelf4net GelfUdpAppender //Get parts from host //var myUri = new Uri(host); //var ipAddress = GetIpAddressFromHost(myUri); //var myPort = GetPortFromHost(myUri); ////Only set up appender if we have a valid ip and port //if (ipAddress != null && myPort != null) //{ // var gelfudpappender = new GelfUdpAppender // { // RemoteAddress = ipAddress, // RemotePort = (int)myPort, // Layout = new GelfLayout // { // AdditionalFields = "AppVersion:" + EntryAssemblyVersion + "," + // "Environment:" + Enum.GetName(typeof(LogEnvironmentType), environment) + "," + // "Level:%level", // ConversionPattern = "[%t] - %m", // IncludeLocationInformation = true // }, // Name = "GelfUdpAppender" // }; // gelfudpappender.ActivateOptions(); // BasicConfigurator.Configure(gelfudpappender); //} #endregion add gel4net GelfUdpAppender #region add gel4net GelfHttpAppender //var gelfappender = new GelfHttpAppender //{ // Url = host, // Layout = new GelfLayout // { // AdditionalFields = "AppVersion:" + EntryAssemblyVersion + "," + // "Environment:" + Enum.GetName(typeof(LogEnvironmentType), environment) + "," + // "Level:%level", // ConversionPattern = "[%t] - %m", // IncludeLocationInformation = true // }, // Name = "GelfHttpAppender" //}; //gelfappender.ActivateOptions(); //BasicConfigurator.Configure(gelfappender); #endregion add gel4net GelfHttpAppender #region add ColoredConsoleAppender var coloredConsoleAppender = new ColoredConsoleAppender { Threshold = _logLevel, Layout = new PatternLayout("%date [%thread] %-5level %logger - %message%newline") }; coloredConsoleAppender.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Debug, ForeColor = ColoredConsoleAppender.Colors.Cyan | ColoredConsoleAppender.Colors.HighIntensity }); coloredConsoleAppender.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Info, ForeColor = ColoredConsoleAppender.Colors.Green | ColoredConsoleAppender.Colors.HighIntensity }); coloredConsoleAppender.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Warn, ForeColor = ColoredConsoleAppender.Colors.Purple | ColoredConsoleAppender.Colors.HighIntensity }); coloredConsoleAppender.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Error, ForeColor = ColoredConsoleAppender.Colors.Red | ColoredConsoleAppender.Colors.HighIntensity }); coloredConsoleAppender.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Fatal, ForeColor = ColoredConsoleAppender.Colors.White | ColoredConsoleAppender.Colors.HighIntensity, BackColor = ColoredConsoleAppender.Colors.Red }); coloredConsoleAppender.ActivateOptions(); BasicConfigurator.Configure(coloredConsoleAppender); #endregion add ColoredConsoleAppender #region add file appender //var fileAppender = new FileAppender //{ // AppendToFile = true, // LockingModel = new FileAppender.MinimalLock(), // Layout = new PatternLayout("%date [%thread] %-5level %logger - %message%newline"), // File = @"C:\temp\log_batchsize500.txt" //}; //fileAppender.ActivateOptions(); //BasicConfigurator.Configure(fileAppender); #endregion add file appender #region add BufferingForwardingAppender //var bfAppender = new BufferingForwardingAppender //{ // BufferSize = 100 //}; ////bfAppender.AddAppender(fileAppender); //bfAppender.AddAppender(napGelfAppender); //bfAppender.ActivateOptions(); //BasicConfigurator.Configure(bfAppender); #endregion add BufferingForwardingAppender }
public NapLogger(string host, LogEnvironmentType environment, string logLevel) : this(host, EntryAssemblyName, environment, logLevel) { }