public static void AddLoggerToLogInstances(ILog loggerToAdd) { if (Log.instance is LogToMultipleLoggers existingInstance) { existingInstance.loggers.Add(loggerToAdd); } else { var newInstance = new LogToMultipleLoggers(); newInstance.loggers.Add(Log.instance); newInstance.loggers.Add(loggerToAdd); Log.instance = newInstance; } }
public void TestLoggingToMultipleLoggers() { var targetFileToLogInto = EnvironmentV2.instance.GetOrAddTempFolder("TestLoggingToMultipleLoggers").GetChild("log.txt"); targetFileToLogInto.DeleteV2(); var multiLogger = new LogToMultipleLoggers(); multiLogger.loggers.Add(new LogToConsole()); multiLogger.loggers.Add(new LogToFile(targetFileToLogInto)); var mockLog = new LogToTestMock(); multiLogger.loggers.Add(mockLog); SendSomeEventsToLog(multiLogger); mockLog.AssertAllMethodsOfMockLogWereCalled(); LogToFile.LogStructure logStructure = LogToFile.LoadLogFile(targetFileToLogInto); Assert.Equal(4, logStructure.logEntries.Count); }