ArchiSteamFarm.Logging.InitLoggers C# (CSharp) Метод

InitLoggers() статический приватный Метод

static private InitLoggers ( ) : void
Результат void
        internal static void InitLoggers()
        {
            if (LogManager.Configuration != null) {
                // User provided custom NLog config, or we have it set already, so don't override it
                InitConsoleLoggers();
                LogManager.ConfigurationChanged += OnConfigurationChanged;
                return;
            }

            LoggingConfiguration config = new LoggingConfiguration();

            ColoredConsoleTarget coloredConsoleTarget = new ColoredConsoleTarget("ColoredConsole") {
                DetectConsoleAvailable = false,
                Layout = GeneralLayout
            };

            config.AddTarget(coloredConsoleTarget);
            config.LoggingRules.Add(new LoggingRule("*", LogLevel.Debug, coloredConsoleTarget));

            if (Program.IsRunningAsService) {
                EventLogTarget eventLogTarget = new EventLogTarget("EventLog") {
                    Layout = EventLogLayout,
                    Log = SharedInfo.EventLog,
                    Source = SharedInfo.EventLogSource
                };

                config.AddTarget(eventLogTarget);
                config.LoggingRules.Add(new LoggingRule("*", LogLevel.Debug, eventLogTarget));
            } else if (!Program.Mode.HasFlag(Program.EMode.Client) || Program.Mode.HasFlag(Program.EMode.Server)) {
                FileTarget fileTarget = new FileTarget("File") {
                    DeleteOldFileOnStartup = true,
                    FileName = SharedInfo.LogFile,
                    Layout = GeneralLayout
                };

                config.AddTarget(fileTarget);
                config.LoggingRules.Add(new LoggingRule("*", LogLevel.Debug, fileTarget));
            }

            LogManager.Configuration = config;
            InitConsoleLoggers();
        }

Usage Example

Пример #1
0
        internal static void InitCore()
        {
            string homeDirectory = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);

            if (!string.IsNullOrEmpty(homeDirectory))
            {
                Directory.SetCurrentDirectory(homeDirectory);

                // Allow loading configs from source tree if it's a debug build
                if (Debugging.IsDebugBuild)
                {
                    // Common structure is bin/(x64/)Debug/ArchiSteamFarm.exe, so we allow up to 4 directories up
                    for (byte i = 0; i < 4; i++)
                    {
                        Directory.SetCurrentDirectory("..");
                        if (Directory.Exists(SharedInfo.ConfigDirectory))
                        {
                            break;
                        }
                    }

                    // If config directory doesn't exist after our adjustment, abort all of that
                    if (!Directory.Exists(SharedInfo.ConfigDirectory))
                    {
                        Directory.SetCurrentDirectory(homeDirectory);
                    }
                }
            }

            Logging.InitLoggers();
        }
All Usage Examples Of ArchiSteamFarm.Logging::InitLoggers