public override Task InitializeDataProviderAsync(IAnalogyLogger logger)
        {
            var regexPattern = new RegexPattern(@"(?<Date>\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}.\d{4})\|(?<Level>\w+)\|(?<Source>.+)\|(?<Text>.*)\|(?<ProcessName>.*)\|(?<ProcessId>.*)",
                                                "yyyy-MM-dd HH:mm:ss.ffff", "", new List <string> {
                "*.nlog"
            });

            if (!RegexParser.Managers.UserSettingsManager.UserSettings.Settings.RegexPatterns.Contains(regexPattern))
            {
                RegexParser.Managers.UserSettingsManager.UserSettings.Settings.RegexPatterns.Insert(0, regexPattern);
            }


            var regexPatternPython = new RegexPattern(@"(?<Date>\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}.\d{6})\s(?<Source>\w+)\:\s(?<Text>.*)",
                                                      "yyyy-MM-dd HH:mm:ss.ffffff", "", new List <string> {
                "*.txt"
            });

            if (!RegexParser.Managers.UserSettingsManager.UserSettings.Settings.RegexPatterns.Contains(regexPatternPython))
            {
                RegexParser.Managers.UserSettingsManager.UserSettings.Settings.RegexPatterns.Insert(1, regexPatternPython);
            }
            var regexPatternPython2 = new RegexPattern(@"(?<Date>\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}.\d{6})\s\[(?<Level>\w+)\]\s\[(?<Source>\w+)\]\s(?<Text>.*)",
                                                       "yyyy-MM-dd HH:mm:ss.ffffff", "", new List <string> {
                "*.txt"
            });

            if (!RegexParser.Managers.UserSettingsManager.UserSettings.Settings.RegexPatterns.Contains(regexPatternPython2))
            {
                RegexParser.Managers.UserSettingsManager.UserSettings.Settings.RegexPatterns.Insert(1, regexPatternPython2);
            }
            return(base.InitializeDataProviderAsync(logger));
        }
예제 #2
0
        public override async Task InitializeDataProviderAsync(IAnalogyLogger logger)
        {
            await base.InitializeDataProviderAsync(logger);

            LogManager.Instance.SetLogger(logger);
            if (File.Exists(iisFileSetting))
            {
                try
                {
                    LogParserSettings = JsonConvert.DeserializeObject <LogParserSettings>(iisFileSetting);
                }
                catch (Exception)
                {
                    LogParserSettings = new LogParserSettings();
                    LogParserSettings.IsConfigured             = true;
                    LogParserSettings.SupportedFilesExtensions = new List <string> {
                        "u_ex*.log"
                    };
                }
            }
            else
            {
                LogParserSettings = new LogParserSettings();
                LogParserSettings.IsConfigured             = true;
                LogParserSettings.SupportedFilesExtensions = new List <string> {
                    "u_ex*.log"
                };
            }
            IISFileParser = new IISFileParser(LogParserSettings);
        }
 public override Task InitializeDataProviderAsync(IAnalogyLogger logger)
 {
     AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
     LogManager.Instance.SetLogger(logger);
     _cts = new CancellationTokenSource();
     return(base.InitializeDataProviderAsync(logger));
 }
예제 #4
0
 public Task InitializePlottingAsync(IAnalogyLogger logger)
 {
     simulateData          = new Timer();
     simulateData.Interval = 1;
     simulateData.Tick    += SimulateData_Tick;
     simulateData.Enabled  = false;
     return(Task.CompletedTask);
 }
        public override Task InitializeDataProviderAsync(IAnalogyLogger logger)
        {
            RegexParser.Managers.UserSettingsManager.UserSettings.Settings.FileOpenDialogFilters = "Plain log text file (*.txt)|*.txt";
            var regexPattern = new RegexPattern(@"(?<Date>\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}.\d{4})\|(?<Level>\w+)\|(?<Source>.+)\|(?<Text>(?s).*)", "yyyy-MM-dd HH:mm:ss.ffff", "", new List <string> {
                "*.txt"
            });

            if (!RegexParser.Managers.UserSettingsManager.UserSettings.Settings.RegexPatterns.Contains(regexPattern))
            {
                RegexParser.Managers.UserSettingsManager.UserSettings.Settings.RegexPatterns.Insert(0, regexPattern);
            }

            return(base.InitializeDataProviderAsync(logger));
        }
        public override async Task InitializeDataProviderAsync(IAnalogyLogger logger)
        {
            await base.InitializeDataProviderAsync(logger);

            httpClient = new HttpClient {
                BaseAddress = new Uri(UserSettingsManager.UserSettings.Settings.Address)
            };
            httpClient.DefaultRequestHeaders.Add("User-Agent", "Analogy Affirmations");
            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            OnlineFetcher = new Timer(UserSettingsManager.UserSettings.Settings.CheckInterval);

            OnlineFetcher.Elapsed += async(s, e) =>
            {
                HttpResponseMessage response = await httpClient.GetAsync("/");

                response.EnsureSuccessStatusCode();
                var resp = await response.Content.ReadAsStringAsync();

                AffirmationData   affirmation = JsonConvert.DeserializeObject <AffirmationData>(resp);
                AnalogyLogMessage m           = new AnalogyInformationMessage(affirmation.affirmation, UserSettingsManager.UserSettings.Settings.Address);
                MessageReady(this, new AnalogyLogMessageArgs(m, Environment.MachineName, "Example", Id));
            };
        }
예제 #7
0
 public override Task InitializeDataProviderAsync(IAnalogyLogger logger)
 {
     LogManager.Instance.SetLogger(logger);
     return(Task.CompletedTask);
 }
 public Task InitializeDataProviderAsync(IAnalogyLogger logger)
 {
     return(Task.CompletedTask);
 }
예제 #9
0
 public void SetLogger(IAnalogyLogger logger) => Logger = logger;
예제 #10
0
 public override Task InitializeDataProviderAsync(IAnalogyLogger logger)
 {
     LogManager.Instance.SetLogger(logger);
     return(base.InitializeDataProviderAsync(logger));
 }
 public override Task InitializeDataProviderAsync(IAnalogyLogger logger)
 {
     LogManager.Instance.SetLogger(logger);
     nLogFileParser = new NLogFileLoader(UserSettingsManager.UserSettings.LogParserSettings);
     return(base.InitializeDataProviderAsync(logger));
 }
 public RegexParser(UserSettings settings, bool updateUIAfterEachLine, IAnalogyLogger logger)
 {
     Logger    = logger;
     _settings = settings;
     updateUIAfterEachParsedLine = updateUIAfterEachLine;
 }
예제 #13
0
 public override Task InitializeDataProviderAsync(IAnalogyLogger logger)
 {
     LogManager.Instance.SetLogger(logger);
     cts = new CancellationTokenSource();
     return(base.InitializeDataProviderAsync(logger));
 }
 Task IAnalogyExtensionUserControl.InitializeUserControl(Control hostingControl, IAnalogyLogger logger)
 {
     return(Task.CompletedTask);
 }
예제 #15
0
 public RegexParser(List <RegexPattern> logPatterns, bool updateUIAfterEachLine, IAnalogyLogger logger)
 {
     _logPatterns = logPatterns;
     Logger       = logger;
     updateUIAfterEachParsedLine = updateUIAfterEachLine;
 }
예제 #16
0
 public Task InitializeUserControl(Control hostingControl, IAnalogyLogger logger)
 {
     return(Task.CompletedTask);
 }
예제 #17
0
 public override Task InitializeDataProviderAsync(IAnalogyLogger logger)
 {
     Featcher = new WebFetcher();
     return(base.InitializeDataProviderAsync(logger));
 }