public void TestLogFileWithConfigurationchangeOnRuntime() { string configurationFile = "log.configuration"; string logFile1 = "log1.log"; string logFile2 = "log2.log"; Core.Miscellaneous.Utilities.EnsureFileDoesNotExist(logFile1); Core.Miscellaneous.Utilities.EnsureFileDoesNotExist(logFile2); Core.Miscellaneous.Utilities.EnsureFileDoesNotExist(configurationFile); GRYLogConfiguration configuration = new() { ConfigurationFile = configurationFile }; configuration.ResetToDefaultValues(logFile1); configuration.SetFormat(GRYLogLogFormat.OnlyMessage); GRYLogConfiguration.SaveConfiguration(configurationFile, configuration); UTF8Encoding encoding = new(false); try { using GRYLog logObject = GRYLog.CreateByConfigurationFile(configurationFile); logObject.Log("test1", LogLevel.Information); //will be logged logObject.Log("test2", LogLevel.Debug); //will not be logged because 'debug' is not contained in LogLevels by default Assert.AreEqual("test1", File.ReadAllText(logFile1, encoding)); GRYLogConfiguration reloadedConfiguration = GRYLogConfiguration.LoadConfiguration(configurationFile); reloadedConfiguration.GetLogTarget <LogFile>().LogLevels.Add(LogLevel.Debug); GRYLogConfiguration.SaveConfiguration(configurationFile, reloadedConfiguration); System.Threading.Thread.Sleep(1000); //wait until config is reloaded logObject.Log("test3", LogLevel.Debug); // will now be logged Assert.AreEqual("test1" + Environment.NewLine + "test3", File.ReadAllText(logFile1, encoding)); reloadedConfiguration = GRYLogConfiguration.LoadConfiguration(configurationFile); reloadedConfiguration.SetLogFile(logFile2); GRYLogConfiguration.SaveConfiguration(configurationFile, reloadedConfiguration); System.Threading.Thread.Sleep(1000); //wait until config is reloaded logObject.Log("test4", LogLevel.Debug); // will be logged Assert.AreEqual("test1" + Environment.NewLine + "test3", File.ReadAllText(logFile1, encoding)); Assert.AreEqual("test4", File.ReadAllText(logFile2, encoding)); } finally { Core.Miscellaneous.Utilities.EnsureFileDoesNotExist(logFile1); Core.Miscellaneous.Utilities.EnsureFileDoesNotExist(logFile2); Core.Miscellaneous.Utilities.EnsureFileDoesNotExist(configurationFile); } }
public void SerializeAndDeserialize2() { // arange GRYLogConfiguration logConfiguration = new() { Name = "MyLog" }; // act string serializedLogConfiguration = Generic.GenericSerialize(logConfiguration); GRYLogConfiguration logConfigurationReloaded = Generic.GenericDeserialize <GRYLogConfiguration>(serializedLogConfiguration); // assert Assert.AreEqual(logConfiguration, logConfigurationReloaded); Assert.AreEqual(logConfiguration.GetHashCode(), logConfigurationReloaded.GetHashCode()); Assert.IsTrue(Generic.GenericEquals(logConfiguration, logConfigurationReloaded)); Assert.AreEqual(Generic.GenericGetHashCode(logConfiguration), Generic.GenericGetHashCode(logConfigurationReloaded)); } }
public void SerializeAndDeserialize1() { // arange GRYLogConfiguration logConfiguration = new() { Name = "MyLog", ConvertTimeForLogentriesToUTCFormat = true }; // act SimpleGenericXMLSerializer <GRYLogConfiguration> serializer = new(); string serializedLogConfiguration = serializer.Serialize(logConfiguration); SimpleGenericXMLSerializer <GRYLogConfiguration> deserializer = new(); GRYLogConfiguration logConfigurationReloaded = deserializer.Deserialize(serializedLogConfiguration); // assert Assert.AreEqual(logConfiguration, logConfigurationReloaded); Assert.AreEqual(logConfiguration.GetHashCode(), logConfigurationReloaded.GetHashCode()); Assert.IsTrue(Generic.GenericEquals(logConfiguration, logConfigurationReloaded)); Assert.AreEqual(Generic.GenericGetHashCode(logConfiguration), Generic.GenericGetHashCode(logConfigurationReloaded)); }