示例#1
0
        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
        }
示例#2
0
 public NapLogger(string host, LogEnvironmentType environment, string logLevel) : this(host, EntryAssemblyName, environment, logLevel)
 {
 }