Example #1
0
        protected void InitMonitoring()
        {
            var client = SystemAccountHelper.GetInternalSystemClient();

            // Создадим компонент
            // Если запускаемся в отладке, то компонент будет не в корне, а в папке DEBUG
            var folder        = !DebugHelper.IsDebugMode ? client.GetRootComponentControl() : client.GetRootComponentControl().GetOrCreateChildFolderControl("DEBUG");
            var componentType = client.GetOrCreateComponentTypeControl(!DebugHelper.IsDebugMode ? "Agent" : DebugHelper.DebugComponentType);

            ComponentControl = folder
                               .GetOrCreateChildComponentControl(new GetOrCreateComponentData("Agent", componentType)
            {
                DisplayName = "Агент",
                Version     = AgentHelper.GetVersion()
            });

            // Присвоим Id компонента по умолчанию, чтобы адаптер NLog мог его использовать
            Client.Instance = client;
            Client.Instance.Config.DefaultComponent.Id = ComponentControl.Info?.Id;

            Logger = LogManager.GetLogger("Agent");
            Logger.Info("Запуск, IsFake={0}", ComponentControl.IsFake());

            AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException;
        }