Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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));
        }
    }
Exemplo n.º 3
0
        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));
        }