AzureFunctions.Global.InitLogging C# (CSharp) Method

InitLogging() private method

private InitLogging ( IContainer container ) : void
container IContainer
return void
        private void InitLogging(IContainer container)
        {
            var settings = container.Resolve<ISettings>();
            if (settings.LogLoggingDebugInfo)
            {
                var logsPath = string.IsNullOrEmpty(Environment.GetEnvironmentVariable("WEBSITE_SITE_NAME"))
                    ? HostingEnvironment.ApplicationPhysicalPath
                    : Path.Combine(Environment.GetEnvironmentVariable("HOME"), "LogFiles");

                var file = File.CreateText(Path.Combine(logsPath, $"serilog-{Environment.GetEnvironmentVariable("WEBSITE_INSTANCE_ID")?.Substring(0, 7)}.log"));
                Serilog.Debugging.SelfLog.Out = TextWriter.Synchronized(file);
            }

            FunctionsTrace.Diagnostics = CreateLogger(settings, "functions-diagnostics-{Date}.txt", "Diagnostics");
            FunctionsTrace.Analytics = CreateLogger(settings, "functions-analytics-{Date}.txt", "Analytics");
            FunctionsTrace.Performance = CreateLogger(settings, "functions-performance-{Date}.txt", "Performance", new Collection<DataColumn>
            {
                new DataColumn {DataType = typeof(string), ColumnName = "OperationName" },
                new DataColumn {DataType = typeof(int), ColumnName = "TimeTakenMsec" },
                new DataColumn {DataType = typeof(string), ColumnName = "OperationResult" },
                new DataColumn {DataType = typeof(DateTime), ColumnName = "StartedTime" }
            });
        }