Exemplo n.º 1
0
        static McsLogger()
        {
            if (!bool.TryParse(Environment.GetEnvironmentVariable("MCS_ENABLE_DIAGNOSTICS"), out var enableDiagnostics))
            {
                enableDiagnostics = false;
            }
            if (!int.TryParse(Environment.GetEnvironmentVariable("MCS_LOG_BATCH_SIZE"), out var batchSize))
            {
                batchSize = 1;
            }

            _settings = new McsLoggingSettings()
            {
                EnableDiagnostics      = enableDiagnostics,
                LogBatchSize           = batchSize,
                LogConnection          = Environment.GetEnvironmentVariable("MCS_LOG_CONNECTION"),
                LogFolderLocation      = Environment.GetEnvironmentVariable("MCS_LOG_FOLDER_LOCATION"),
                McsLogDestinationTypes = Environment.GetEnvironmentVariable("MCS_LOG_DESTINATION_TYPES")
            };

            var logToFile = _settings.McsLogDestinationTypes.ToUpper().Contains("FILE");
            var logToSQL  = _settings.McsLogDestinationTypes.ToUpper().Contains("SQL");

            if (logToSQL && logToFile)
            {
                FileSqlLogBuilder.BuildLogger(ref _perfLogger, ref _usageLogger, ref _errorLogger, ref _diagnosticLogger, _settings);
            }
            else if (logToFile)
            {
                FileLogBuilder.BuildLogger(ref _perfLogger, ref _usageLogger, ref _errorLogger, ref _diagnosticLogger, _settings);
            }
            else if (logToSQL)
            {
                SqlLogBuilder.BuildLogger(ref _perfLogger, ref _usageLogger, ref _errorLogger, ref _diagnosticLogger, _settings);
            }
        }
        internal static void BuildLogger(ref Serilog.ILogger _perfLogger, ref Serilog.ILogger _usageLogger, ref Serilog.ILogger _errorLogger, ref Serilog.ILogger _diagnosticLogger, McsLoggingSettings _settings)
        {
            _perfLogger = new LoggerConfiguration()
                          .WriteTo.MSSqlServer(_settings.LogConnection, "PerfLogs", autoCreateSqlTable: true,
                                               columnOptions: SqlColumns.GetSqlColumnOptions(), batchPostingLimit: _settings.LogBatchSize)
                          .CreateLogger();

            _usageLogger = new LoggerConfiguration()
                           .WriteTo.MSSqlServer(_settings.LogConnection, "UsageLogs", autoCreateSqlTable: true,
                                                columnOptions: SqlColumns.GetSqlColumnOptions(), batchPostingLimit: _settings.LogBatchSize)
                           .CreateLogger();

            _errorLogger = new LoggerConfiguration()
                           .WriteTo.MSSqlServer(_settings.LogConnection, "ErrorLogs", autoCreateSqlTable: true,
                                                columnOptions: SqlColumns.GetSqlColumnOptions(), batchPostingLimit: _settings.LogBatchSize)
                           .CreateLogger();

            _diagnosticLogger = new LoggerConfiguration()
                                .WriteTo.MSSqlServer(_settings.LogConnection, "DiagnosticLogs", autoCreateSqlTable: true,
                                                     columnOptions: SqlColumns.GetSqlColumnOptions(), batchPostingLimit: _settings.LogBatchSize)
                                .CreateLogger();
        }
Exemplo n.º 3
0
        internal static void BuildLogger(ref Serilog.ILogger _perfLogger, ref Serilog.ILogger _usageLogger, ref Serilog.ILogger _errorLogger, ref Serilog.ILogger _diagnosticLogger, McsLoggingSettings _settings)
        {
            _perfLogger = new LoggerConfiguration()
                          .WriteTo.File(path: $"{_settings.LogFolderLocation}\\perf-{DateTime.Now.ToString("MMddyyyy")}.txt")
                          .WriteTo.MSSqlServer(_settings.LogConnection, "PerfLogs", autoCreateSqlTable: true,
                                               columnOptions: SqlColumns.GetSqlColumnOptions(), batchPostingLimit: _settings.LogBatchSize)
                          .CreateLogger();

            _usageLogger = new LoggerConfiguration()
                           .WriteTo.File(path: $"{_settings.LogFolderLocation}\\usage-{DateTime.Now.ToString("MMddyyyy")}.txt")
                           .WriteTo.MSSqlServer(_settings.LogConnection, "UsageLogs", autoCreateSqlTable: true,
                                                columnOptions: SqlColumns.GetSqlColumnOptions(), batchPostingLimit: _settings.LogBatchSize)
                           .CreateLogger();

            _errorLogger = new LoggerConfiguration()
                           .WriteTo.File(path: $"{_settings.LogFolderLocation}\\error-{DateTime.Now.ToString("MMddyyyy")}.txt")
                           .WriteTo.MSSqlServer(_settings.LogConnection, "ErrorLogs", autoCreateSqlTable: true,
                                                columnOptions: SqlColumns.GetSqlColumnOptions(), batchPostingLimit: _settings.LogBatchSize)
                           .CreateLogger();

            _diagnosticLogger = new LoggerConfiguration()
                                .WriteTo.File(path: $"{_settings.LogFolderLocation}\\diagnostic-{DateTime.Now.ToString("MMddyyyy")}.txt")
                                .WriteTo.MSSqlServer(_settings.LogConnection, "DiagnosticLogs", autoCreateSqlTable: true,
                                                     columnOptions: SqlColumns.GetSqlColumnOptions(), batchPostingLimit: _settings.LogBatchSize)
                                .CreateLogger();
        }
Exemplo n.º 4
0
        internal static void BuildLogger(ref Serilog.ILogger _perfLogger, ref Serilog.ILogger _usageLogger, ref Serilog.ILogger _errorLogger, ref Serilog.ILogger _diagnosticLogger, McsLoggingSettings _settings)
        {
            _perfLogger = new LoggerConfiguration()
                          .WriteTo.File(path: $"{_settings.LogFolderLocation}\\perf-{DateTime.Now.ToString("MMddyyyy")}.txt")
                          .CreateLogger();

            _usageLogger = new LoggerConfiguration()
                           .WriteTo.File(path: $"{_settings.LogFolderLocation}\\usage-{DateTime.Now.ToString("MMddyyyy")}.txt")
                           .CreateLogger();

            _errorLogger = new LoggerConfiguration()
                           .WriteTo.File(path: $"{_settings.LogFolderLocation}\\error-{DateTime.Now.ToString("MMddyyyy")}.txt")
                           .CreateLogger();

            _diagnosticLogger = new LoggerConfiguration()
                                .WriteTo.File(path: $"{_settings.LogFolderLocation}\\diagnostic-{DateTime.Now.ToString("MMddyyyy")}.txt")
                                .CreateLogger();
        }