Exemple #1
0
        public void LogExceptionTest()
        {
            var logMessages = new List <Tuple <Guid, LogMessage> >();

            var client = Client.Instance;

            client.WebLogManager.OnAddLogMessage += (component, message) =>
            {
                logMessages.Add(new Tuple <Guid, LogMessage>(component.Info.Id, message));
            };

            var events = new List <SendEventBase>();

            client.EventPreparer = new EventPreparer(events);

            var loggerFactory = new LoggerFactory();

            loggerFactory.AddZidiumLog(ComponentId);
            loggerFactory.AddZidiumErrors(ComponentId);

            var logger = loggerFactory.CreateLogger <LoggerTests>();

            Exception exception;

            try
            {
                throw new Exception("Test");
            }
            catch (Exception e)
            {
                exception = e;
            }

            logger.LogError(100, exception, exception.Message);

            Assert.Single(logMessages);
            var logMessage = logMessages[0];

            Assert.Equal(ComponentId, logMessage.Item1);
            Assert.Equal(Zidium.Api.LogLevel.Error, logMessage.Item2.Level);
            Assert.Equal("Test", logMessage.Item2.Message);
            Assert.Equal("NetCoreLogger.Tests.LoggerTests", logMessage.Item2.Context);

            Assert.Equal(2, logMessage.Item2.Properties.Count);
            var prop = logMessage.Item2.Properties.FirstOrDefault(t => t.Name == "Stack");

            Assert.NotNull(prop);

            prop = logMessage.Item2.Properties.First(t => t.Name == "EventId");
            Assert.NotNull(prop);
            Assert.Equal("100", prop.Value.Value);

            Assert.Single(events);

            Client.Instance.Flush();
        }
Exemple #2
0
        public void LogExpectedCategoryTest()
        {
            var logMessages = new List <Tuple <Guid, LogMessage> >();

            var client = Client.Instance;

            client.WebLogManager.OnAddLogMessage += (component, message) =>
            {
                logMessages.Add(new Tuple <Guid, LogMessage>(component.Info.Id, message));
            };

            var events = new List <SendEventBase>();

            client.EventPreparer = new EventPreparer(events);

            var loggerFactory = new LoggerFactory();

            loggerFactory.AddZidiumLog(ComponentId, "Application");
            loggerFactory.AddZidiumErrors(ComponentId, "Application");
            loggerFactory.AddZidiumLog(ComponentId, "CustomCategory");
            loggerFactory.AddZidiumErrors(ComponentId, "CustomCategory");

            var logger = loggerFactory.CreateLogger("CustomCategory");
            var text   = "Message." + Guid.NewGuid();

            logger.LogCritical(text);

            Assert.Single(logMessages);
            var logMessage = logMessages[0];

            Assert.Equal(ComponentId, logMessage.Item1);
            Assert.Equal(Zidium.Api.LogLevel.Fatal, logMessage.Item2.Level);
            Assert.Equal(text, logMessage.Item2.Message);
            Assert.Equal("CustomCategory", logMessage.Item2.Context);

            Assert.Single(events);

            Client.Instance.Flush();
        }
Exemple #3
0
        public static void Main(string[] args)
        {
            var loggerFactory = new LoggerFactory();

            loggerFactory.AddConsole();
            loggerFactory.AddZidiumLog();

            try
            {
                var logger = loggerFactory.CreateLogger <Program>();
                logger.LogInformation("My message");
                throw new Exception("Test");
            }
            catch (Exception exception)
            {
                var logger = loggerFactory.CreateLogger <Program>();
                logger.LogError(1, exception, "My error");
            }

            Console.ReadKey();
            Client.Instance.Flush();
        }
Exemple #4
0
        public void LogInfoTest()
        {
            var logMessages = new List <Tuple <Guid, LogMessage> >();

            var client = Client.Instance;

            client.WebLogManager.OnAddLogMessage += (component, message) =>
            {
                logMessages.Add(new Tuple <Guid, LogMessage>(component.Info.Id, message));
            };

            var events = new List <SendEventBase>();

            client.EventPreparer = new EventPreparer(events);

            var loggerFactory = new LoggerFactory();

            loggerFactory.AddZidiumLog(ComponentId);
            loggerFactory.AddZidiumErrors(ComponentId);

            var logger = loggerFactory.CreateLogger <LoggerTests>();
            var text   = "Message." + Guid.NewGuid();

            logger.LogInformation(text);

            Assert.Single(logMessages);
            var logMessage = logMessages[0];

            Assert.Equal(ComponentId, logMessage.Item1);
            Assert.Equal(Zidium.Api.LogLevel.Info, logMessage.Item2.Level);
            Assert.Equal(text, logMessage.Item2.Message);
            Assert.Equal("NetCoreLogger.Tests.LoggerTests", logMessage.Item2.Context);

            Assert.Empty(events);

            Client.Instance.Flush();
        }