Пример #1
0
        private static void ConfigureSplunkLogging(IConfiguration Configuration)
        {
            //Get nlog.config file
            var nlogConfiguration = NLog.LogManager.Configuration;

            //To ignore Splunk certificate errors
            ServicePointManager.ServerCertificateValidationCallback = delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return(true); };

            var webServiceTarget = nlogConfiguration.FindTargetByName <WebServiceTarget>("Splunk");

            webServiceTarget.Url = new Uri(Configuration["SplunkUrl"]);
            MethodCallParameter headerParameter = new MethodCallParameter
            {
                Name   = Configuration["SplunkHeaderName"],
                Layout = Configuration["SplunkHeaderLayout"]
            };

            webServiceTarget.Headers.Add(headerParameter);

            if (!String.IsNullOrWhiteSpace(AppEnvironment) && AppEnvironment.Equals("local"))
            {
                var logconsole = new ConsoleTarget("logconsole");
                nlogConfiguration.AddRule(NLog.LogLevel.Info, NLog.LogLevel.Fatal, logconsole);
            }

            NLog.LogManager.Configuration = nlogConfiguration;

            //Set Global Diagnostics context
            GlobalDiagnosticsContext.Set("application", Configuration["Application"]);
            GlobalDiagnosticsContext.Set("environment", AppEnvironment);
        }