public static void Run([TimerTrigger("*/30 * * * * *")] TimerInfo myTimer, ILogger logger) { // CRON expression syntax: <second> <minute> <hour> <day-of-month> <month> <day-of-week> <year> <command> AppInsightsLogger appInsightsLogger = new AppInsightsLogger(logger, LOGGING_SERVICE_NAME, LOGGING_SERVICE_VERSION); QueueLogger queueLogger = new QueueLogger(appInsightsLogger); queueLogger.LogQueueLength(BACKEND_STATUS_CREATED_PATTERN, adjustment: 1); // Add 1 so that we account for > 1 waiting. }
public static void Run([TimerTrigger("0 */5 * * * *")] TimerInfo myTimer, ILogger logger) { // CRON expression syntax: <second> <minute> <hour> <day-of-month> <month> <day-of-week> <year> <command> AppInsightsLogger appInsightsLogger = new AppInsightsLogger(logger, LOGGING_SERVICE_NAME, LOGGING_SERVICE_VERSION); QueueLogger queueLogger = new QueueLogger(appInsightsLogger); queueLogger.LogQueueLength(BACKEND_STATUS_COMPLETED_PATTERN); queueLogger.LogQueueLength(BACKEND_STATUS_RUNNING_PATTERN); queueLogger.LogQueueLength(BACKEND_STATUS_FAILED_PATTERN); }
public void Call_Log_with_message(string message) { //Console logger message IMessageLogger cl = new ConsoleLogger(); cl.Log(message); //Queue logger message IMessageLogger ql = new QueueLogger(); ql.Log(message); }
public void Call_Log_with_message() { Mock <ConsoleLogger> mokConsoleLogger = new Mock <ConsoleLogger>(); ConsoleLogger oConsoleLogger = mokConsoleLogger.Object; oConsoleLogger.Log("helloWorld"); mokConsoleLogger.Verify(t => t.Log("helloWorld")); Mock <QueueLogger> mokQueueLogger = new Mock <QueueLogger>(); QueueLogger oQueueLogger = mokQueueLogger.Object; oQueueLogger.Log("helloWorld"); mokQueueLogger.Verify(t => t.Log("helloWorld")); //throw new NotImplementedException(); }
public IEnumerator Run() { PostPatchLoader.Instance.databaseConfigs = null; if (!Directory.Exists(logsDirPath)) { Directory.CreateDirectory(logsDirPath); } kspLogger.Info("Patching started on a new thread, all output will be directed to " + logPath); MessageQueue <ILogMessage> mmLogQueue = new MessageQueue <ILogMessage>(); QueueLogRunner logRunner = new QueueLogRunner(mmLogQueue); ITaskStatus loggingThreadStatus = BackgroundTask.Start(delegate { using (StreamLogger streamLogger = new StreamLogger(new FileStream(logPath, FileMode.Create))) { logRunner.Run(streamLogger); streamLogger.Info("Done!"); } }); // Wait for game database to be initialized for the 2nd time and wait for any plugins to initialize yield return(null); yield return(null); IBasicLogger mmLogger = new QueueLogger(mmLogQueue); IEnumerable <ModListGenerator.ModAddedByAssembly> modsAddedByAssemblies = ModListGenerator.GetAdditionalModsFromStaticMethods(mmLogger); IEnumerable <IProtoUrlConfig> databaseConfigs = null; MMPatchLoader patchLoader = new MMPatchLoader(modsAddedByAssemblies, mmLogger); ITaskStatus patchingThreadStatus = BackgroundTask.Start(delegate { databaseConfigs = patchLoader.Run(); }); while (true) { yield return(null); if (!patchingThreadStatus.IsRunning) { logRunner.RequestStop(); } Status = patchLoader.status; Errors = patchLoader.errors; if (!patchingThreadStatus.IsRunning && !loggingThreadStatus.IsRunning) { break; } } if (patchingThreadStatus.IsExitedWithError) { kspLogger.Exception("The patching thread threw an exception", patchingThreadStatus.Exception); FatalErrorHandler.HandleFatalError("The patching thread threw an exception"); } if (loggingThreadStatus.IsExitedWithError) { kspLogger.Exception("The logging thread threw an exception", loggingThreadStatus.Exception); FatalErrorHandler.HandleFatalError("The logging thread threw an exception"); } if (databaseConfigs == null) { kspLogger.Error("The patcher returned a null collection of configs"); FatalErrorHandler.HandleFatalError("The patcher returned a null collection of configs"); yield break; } PostPatchLoader.Instance.databaseConfigs = databaseConfigs; }
public QueueLoggerTest() { queue = Substitute.For <IMessageQueue <ILogMessage> >(); logger = new QueueLogger(queue); }
public QueueLoggerTest() { logger = new QueueLogger(queue); }