At.FF.Krems.Utils.Logging.LoggingConfigurator.Initialize C# (CSharp) Method

Initialize() private method

Initializes this instance.
private Initialize ( bool force = false ) : void
force bool Force initialization, even if already initialized.
return void
        private void Initialize(bool force = false)
        {
            if (this.initializeCalled && !force)
            {
                return;
            }

            this.initializeCalled = true;
            // ReSharper disable once AssignNullToNotNullAttribute
            this.LoggingDirectory = Path.Combine(new FileInfo(ReflectionExtensions.GetEntryAssembly().Location).DirectoryName, "Logging");
            Directory.CreateDirectory(this.LoggingDirectory);
            var configFile = new FileInfo(Path.Combine(this.LoggingDirectory, "Log4NetConfig_" + ReflectionExtensions.GetEntryAssembly().GetName().Name + ".xml"));
            if (!configFile.Exists)
            {
                var backUpConfigFile = new FileInfo(Path.Combine(this.LoggingDirectory, "Log4NetDefaultConfig.xml"));
                if (!backUpConfigFile.Exists)
                {
                    Logger.Warn("Process -> " + Process.GetCurrentProcess().ProcessName + " -> File for log4net configuration (Log4NetDefaultConfig.xml) was not found. File will be created with backup configuration from SourceCode.");
                    backUpConfigFile.Create().Close();
                    File.WriteAllLines(backUpConfigFile.FullName, new[] { SourceCodeBackUpXml.Replace("'", "\"") });
                }

                backUpConfigFile.CopyTo(Path.Combine(this.LoggingDirectory, "Log4NetConfig_" + ReflectionExtensions.GetEntryAssembly().GetName().Name + ".xml"), true);
            }

            GlobalContext.Properties["PATHNAME"] = "Logging";
            GlobalContext.Properties["FILENAME_TRACE"] = $"{ReflectionExtensions.GetEntryAssembly().GetName().Name}_TRACE.log";
            GlobalContext.Properties["FILENAME_DEBUG"] = $"{ReflectionExtensions.GetEntryAssembly().GetName().Name}_DEBUG.log";
            GlobalContext.Properties["FILENAME_NOTICE"] = $"{ReflectionExtensions.GetEntryAssembly().GetName().Name}.log";

            XmlConfigurator.ConfigureAndWatch(configFile);

            // Log Process Start now !
            Bootstrapper.GetInstance<IProcessStateLogging>().LogProcessStart();
        }
LoggingConfigurator