示例#1
0
 public WebHookService(IConfigManagerHelper configManagerHelper, ILogger <WebHookManager> webHookManagerLogger,
                       ILogger <ApiWebHookSender> apiWebHookSenderLogger)
 {
     _configManagerHelper    = configManagerHelper;
     _webHookManagerLogger   = webHookManagerLogger;
     _apiWebHookSenderLogger = apiWebHookSenderLogger;
 }
示例#2
0
        public TableManager(IConfigManagerHelper config)
        {
            var azureDataConnectionString = config.GetAppSetting("DataConnectionString");
            var storageAccount            = CloudStorageAccount.Parse(azureDataConnectionString);

            _tableClient = storageAccount.CreateCloudTableClient();
        }
        public OneHydraLogger(string loggerName, IConfigManagerHelper config)
        {
            var hier = LogManager.GetRepository() as Hierarchy;
            // If we have the setting in the configuration set the log level.  Otherwise, default to only errors and fatal
            // debug messages.
            if (hier != null)
            {
                var logLevel = hier.LevelMap["ERROR"];
                var configLogLevel = config.GetAppSetting("OneHydraLogLevel");
                if (configLogLevel != null)
                {
                    logLevel = hier.LevelMap[configLogLevel.ToUpper()];
                }

                // Only do this once when the first instance is created.  After that, the adoAppender should be available
                // to all subsequent instantiations.  We're also only setting the log level for the entire configuration once.
                // If subsequently, someone uses log4net and usurps the hierarchy in the architecture, it could change the log level.     
                lock (ConfigureLock)
                {
                    if (_adoAppender == null)
                    {
                        _adoAppender = GetAdoAppender(config);
                        log4net.Config.BasicConfigurator.Configure(_adoAppender);
                        ILogger[] loggers = hier.GetCurrentLoggers();
                        foreach (var logger in loggers)
                        {
                            ((Logger)logger).Level = logLevel;
                        }
                        //Configure the root logger.
                        Logger rootLogger = hier.Root;
                        rootLogger.Level = logLevel;
                    }

                }

                // Set the appender and log level for this instance.  We know they should already be configured.
                var loggerToConfigure = hier.GetLogger(loggerName, hier.LoggerFactory);
                if (loggerToConfigure != null)
                {
                    loggerToConfigure.Level = logLevel;
                    _logger = LogManager.GetLogger(loggerName);

                }
            }
        }
示例#4
0
        public OneHydraLogger(string loggerName, IConfigManagerHelper config)
        {
            var hier = LogManager.GetRepository() as Hierarchy;

            // If we have the setting in the configuration set the log level.  Otherwise, default to only errors and fatal
            // debug messages.
            if (hier != null)
            {
                var logLevel       = hier.LevelMap["ERROR"];
                var configLogLevel = config.GetAppSetting("OneHydraLogLevel");
                if (configLogLevel != null)
                {
                    logLevel = hier.LevelMap[configLogLevel.ToUpper()];
                }

                // Only do this once when the first instance is created.  After that, the adoAppender should be available
                // to all subsequent instantiations.  We're also only setting the log level for the entire configuration once.
                // If subsequently, someone uses log4net and usurps the hierarchy in the architecture, it could change the log level.
                lock (ConfigureLock)
                {
                    if (_adoAppender == null)
                    {
                        _adoAppender = GetAdoAppender(config);
                        log4net.Config.BasicConfigurator.Configure(_adoAppender);
                        ILogger[] loggers = hier.GetCurrentLoggers();
                        foreach (var logger in loggers)
                        {
                            ((Logger)logger).Level = logLevel;
                        }
                        //Configure the root logger.
                        Logger rootLogger = hier.Root;
                        rootLogger.Level = logLevel;
                    }
                }

                // Set the appender and log level for this instance.  We know they should already be configured.
                var loggerToConfigure = hier.GetLogger(loggerName, hier.LoggerFactory);
                if (loggerToConfigure != null)
                {
                    loggerToConfigure.Level = logLevel;
                    _logger = LogManager.GetLogger(loggerName);
                }
            }
        }
 public WebHookService(IConfigManagerHelper configManagerHelper, ILogger logger)
 {
     _configManagerHelper = configManagerHelper;
     _logger = logger;
 }
 public BlobManager(IConfigManagerHelper config)
 {
     var azureDataConnectionString = config.GetAppSetting("DataConnectionString");
     var storageAccount = CloudStorageAccount.Parse(azureDataConnectionString);
     _blobClient = storageAccount.CreateCloudBlobClient();
 }
        private static IAppender GetAdoAppender(IConfigManagerHelper config)
        {
            var connectionString = config.GetConnectionString("OneHydraLog");
            if (string.IsNullOrEmpty(connectionString))
            {
                throw new Exception("A connection string to the log database is required.  Please add the connection string by the name OneHydraLog to the config and make sure the connection string points to a database with the expected OneSearchLog table.");
            }
            var adoAppender = new AdoNetAppender
            {
                Name = "ADONetAppender",
                BufferSize = 1,
                ConnectionType =
                    "System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
                ConnectionString = connectionString,
                CommandText =
                    "INSERT INTO [OneSearchLog] ([Date],[Thread],[Level],[Logger],[Message],[Exception], [MachineName]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception, @machineName)",
                CommandType = CommandType.Text
            };

            //<conversionPattern value="%property{log4net:HostName}" />

            var parameter = new AdoNetAppenderParameter { ParameterName = "@log_date", DbType = DbType.DateTime };
            var patternLayout = new PatternLayout { ConversionPattern = "%date{MM/dd/yyyy HH:mm:ss}" };
            patternLayout.ActivateOptions();
            parameter.Layout = new Layout2RawLayoutAdapter(patternLayout);
            adoAppender.AddParameter(parameter);

            parameter = new AdoNetAppenderParameter { ParameterName = "@thread", DbType = DbType.String, Size = 255 };
            patternLayout = new PatternLayout { ConversionPattern = "%thread" };
            patternLayout.ActivateOptions();
            parameter.Layout = new Layout2RawLayoutAdapter(patternLayout);
            adoAppender.AddParameter(parameter);

            parameter = new AdoNetAppenderParameter { ParameterName = "@log_level", DbType = DbType.String, Size = 50 };
            patternLayout = new PatternLayout { ConversionPattern = "%level" };
            patternLayout.ActivateOptions();
            parameter.Layout = new Layout2RawLayoutAdapter(patternLayout);
            adoAppender.AddParameter(parameter);

            parameter = new AdoNetAppenderParameter { ParameterName = "@logger", DbType = DbType.String, Size = 255 };
            patternLayout = new PatternLayout { ConversionPattern = "%logger" };
            patternLayout.ActivateOptions();
            parameter.Layout = new Layout2RawLayoutAdapter(patternLayout);
            adoAppender.AddParameter(parameter);

            parameter = new AdoNetAppenderParameter { ParameterName = "@message", DbType = DbType.String, Size = 200000000 };
            patternLayout = new PatternLayout { ConversionPattern = "%message" };
            patternLayout.ActivateOptions();
            parameter.Layout = new Layout2RawLayoutAdapter(patternLayout);
            adoAppender.AddParameter(parameter);

            parameter = new AdoNetAppenderParameter { ParameterName = "@machineName", DbType = DbType.String, Size = 255 };
            patternLayout = new PatternLayout { ConversionPattern = "%property{machineName}" };
            patternLayout.ActivateOptions();
            parameter.Layout = new Layout2RawLayoutAdapter(patternLayout);
            adoAppender.AddParameter(parameter);

            parameter = new AdoNetAppenderParameter { ParameterName = "@exception", DbType = DbType.String, Size = 200000000 };
            patternLayout = new PatternLayout { ConversionPattern = "%property{fullException}" };
            patternLayout.ActivateOptions();
            parameter.Layout = new Layout2RawLayoutAdapter(patternLayout);
            //var exceptionLayout = new ExceptionLayout(){IgnoresException = true};
            //exceptionLayout.ActivateOptions();
            //parameter.Layout = new Layout2RawLayoutAdapter(exceptionLayout);
            adoAppender.AddParameter(parameter);

            adoAppender.ActivateOptions();
            return adoAppender;
        }
示例#8
0
        private static IAppender GetAdoAppender(IConfigManagerHelper config)
        {
            var connectionString = config.GetConnectionString("OneHydraLog");

            if (string.IsNullOrEmpty(connectionString))
            {
                throw new Exception("A connection string to the log database is required.  Please add the connection string by the name OneHydraLog to the config and make sure the connection string points to a database with the expected OneSearchLog table.");
            }
            var adoAppender = new AdoNetAppender
            {
                Name           = "ADONetAppender",
                BufferSize     = 1,
                ConnectionType =
                    "System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
                ConnectionString = connectionString,
                CommandText      =
                    "INSERT INTO [OneSearchLog] ([Date],[Thread],[Level],[Logger],[Message],[Exception], [MachineName]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception, @machineName)",
                CommandType = CommandType.Text
            };

            //<conversionPattern value="%property{log4net:HostName}" />

            var parameter = new AdoNetAppenderParameter {
                ParameterName = "@log_date", DbType = DbType.DateTime
            };
            var patternLayout = new PatternLayout {
                ConversionPattern = "%date{MM/dd/yyyy HH:mm:ss}"
            };

            patternLayout.ActivateOptions();
            parameter.Layout = new Layout2RawLayoutAdapter(patternLayout);
            adoAppender.AddParameter(parameter);

            parameter = new AdoNetAppenderParameter {
                ParameterName = "@thread", DbType = DbType.String, Size = 255
            };
            patternLayout = new PatternLayout {
                ConversionPattern = "%thread"
            };
            patternLayout.ActivateOptions();
            parameter.Layout = new Layout2RawLayoutAdapter(patternLayout);
            adoAppender.AddParameter(parameter);

            parameter = new AdoNetAppenderParameter {
                ParameterName = "@log_level", DbType = DbType.String, Size = 50
            };
            patternLayout = new PatternLayout {
                ConversionPattern = "%level"
            };
            patternLayout.ActivateOptions();
            parameter.Layout = new Layout2RawLayoutAdapter(patternLayout);
            adoAppender.AddParameter(parameter);

            parameter = new AdoNetAppenderParameter {
                ParameterName = "@logger", DbType = DbType.String, Size = 255
            };
            patternLayout = new PatternLayout {
                ConversionPattern = "%logger"
            };
            patternLayout.ActivateOptions();
            parameter.Layout = new Layout2RawLayoutAdapter(patternLayout);
            adoAppender.AddParameter(parameter);

            parameter = new AdoNetAppenderParameter {
                ParameterName = "@message", DbType = DbType.String, Size = 200000000
            };
            patternLayout = new PatternLayout {
                ConversionPattern = "%message"
            };
            patternLayout.ActivateOptions();
            parameter.Layout = new Layout2RawLayoutAdapter(patternLayout);
            adoAppender.AddParameter(parameter);

            parameter = new AdoNetAppenderParameter {
                ParameterName = "@machineName", DbType = DbType.String, Size = 255
            };
            patternLayout = new PatternLayout {
                ConversionPattern = "%property{machineName}"
            };
            patternLayout.ActivateOptions();
            parameter.Layout = new Layout2RawLayoutAdapter(patternLayout);
            adoAppender.AddParameter(parameter);

            parameter = new AdoNetAppenderParameter {
                ParameterName = "@exception", DbType = DbType.String, Size = 200000000
            };
            patternLayout = new PatternLayout {
                ConversionPattern = "%property{fullException}"
            };
            patternLayout.ActivateOptions();
            parameter.Layout = new Layout2RawLayoutAdapter(patternLayout);
            //var exceptionLayout = new ExceptionLayout(){IgnoresException = true};
            //exceptionLayout.ActivateOptions();
            //parameter.Layout = new Layout2RawLayoutAdapter(exceptionLayout);
            adoAppender.AddParameter(parameter);

            adoAppender.ActivateOptions();
            return(adoAppender);
        }