예제 #1
0
        public void Log <TState>(
            LogLevel logLevel,
            EventId eventId,
            TState state,
            Exception exception,
            Func <TState, Exception, string> formatter)
        {
            if (!IsEnabled(logLevel))
            {
                return;
            }

            if (formatter == null)
            {
                throw new ArgumentNullException(nameof(formatter));
            }

            var message = formatter(state, exception);

            if (string.IsNullOrEmpty(message))
            {
                return;
            }

            if (exception != null)
            {
                message += $"\n{ exception.ToString() }";
            }

            message = message.Length > MAXMESSAGELENGTH?message.Substring(0, MAXMESSAGELENGTH) : message;

            _loggerRepository.AddLog(new EventLog(eventId.Id, logLevel.ToString(), message));
        }
예제 #2
0
 public void Log(string type, string message)
 {
     try
     {
         using (var db = new LoggerContext(_conection))
         {
             var repository = new LoggerRepository(db);
             repository.AddLog(type, message);
         }
     }
     catch (Exception ex)
     {
         // ignore
     }
 }
예제 #3
0
        public void Log_SaveLog()
        {
            var mockSet     = new Mock <DbSet <Log> >();
            var mockContext = new Mock <LoggerContext>(string.Empty);

            mockContext.Setup(m => m.Logs).Returns(mockSet.Object);

            // Act
            var repository = new LoggerRepository(mockContext.Object);

            repository.AddLog("Error", "Test");

            // Assert
            mockSet.Verify(m => m.Add(It.IsAny <Log>()), Times.Once);
            mockContext.Verify(m => m.SaveChanges(), Times.Once);
        }
예제 #4
0
파일: Logger.cs 프로젝트: Epstone/remindii
 public void LogInfo(string customMessage)
 {
     _db.AddLog(SeverityLevel.Info, string.Empty, string.Empty, customMessage);
 }