コード例 #1
0
        public bool Log(string message, TypeLogEnum typeLogEnum)
        {
            if (!isValidLogMessage(message))
            {
                return(false);
            }
            var messageTrimmed = message.Trim();

            try
            {
                var connectionString = configuration.GetConnectionString("SqlConnection");
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    connection.Open();
                    var        type       = ((int)typeLogEnum).ToString();
                    SqlCommand sqlCommand = new SqlCommand($"Insert into Logger (Message, Type) Values('{messageTrimmed}','{ type }')", connection);
                    sqlCommand.CommandType = CommandType.Text;
                    sqlCommand.ExecuteNonQuery();
                }
                return(true);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
コード例 #2
0
        public bool Log(string message, TypeLogEnum typeLogEnum)
        {
            if (!isValidLogMessage(message))
            {
                return(false);
            }
            var messageTrimmed = message.Trim();

            try
            {
                StringBuilder stringBuilder = new StringBuilder();
                var           typeLog       = typeLogEnum.ToString();
                string        currentDate   = DateTime.Now.ToString("yyyy-MM-dd");
                var           fileDirectory = configuration.GetSection("AppSettings:LogFileDirectory").Value + "LogFile" + currentDate + ".txt";
                if (File.Exists(fileDirectory))
                {
                    var text = File.ReadAllText(fileDirectory);
                    if (!string.IsNullOrEmpty(text))
                    {
                        stringBuilder.Append($"{text} {currentDate} {typeLog}: {messageTrimmed}");
                    }
                }
                else
                {
                    stringBuilder.Append($"{currentDate} {typeLog}: {messageTrimmed}");
                }
                File.WriteAllText(fileDirectory, stringBuilder.ToString());
                return(true);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
コード例 #3
0
        private bool Log(string message, TypeLogEnum typeLogEnum)
        {
            var succededDB      = _databaseLogRepository.Log(message, typeLogEnum);
            var succededFile    = _fileLogRepository.Log(message, typeLogEnum);
            var succededConsole = _consoleLogRepository.Log(message, typeLogEnum);

            return(succededConsole && succededDB && succededFile);
        }
コード例 #4
0
        [TestCase(0, "", 3, 1)] // code, description, type, Count Expected
        public void TestServiceGetByFilter(int code, string description, TypeLogEnum type, int countExpected)
        {
            var logList       = GetMockList();
            var logRepository = new Mock <ILogRepository>();

            logRepository.Setup(s => s.Get()).Returns(GetContent());
            var service = new LogService(logRepository.Object);

            Assert.That(service.GetByFilter(code, description, type).Count, Is.EqualTo(countExpected));
        }
コード例 #5
0
        public void TestControllerGetByFilter(int code, string description, TypeLogEnum type)
        {
            var logList = GetMockList();
            var service = new Mock <ILogService>();

            service.Setup(s => s.GetLog()).Returns(logList);
            service.Setup(s => s.GetByFilter(code, description, type)).Returns(logList);

            var controller = new LogController(service.Object);

            Assert.That(controller.Get(code, description, type), Is.EqualTo(logList));
        }
コード例 #6
0
        public List <Log> GetByFilter(int code, string description, TypeLogEnum type)
        {
            var logEntities = GetLog().AsEnumerable();

            logEntities = code != 0 ? logEntities.Where(w => w.Code == code) : logEntities;

            logEntities = !string.IsNullOrEmpty(description)
                             ?   logEntities.Where(w => description.Contains(w.Description))
                             :   logEntities;

            logEntities = type != 0 ? logEntities.Where(w => w.Type == type) : logEntities;

            return(logEntities.ToList());
        }
コード例 #7
0
        /// <summary>
        /// Enregistre un log en base de donnée en ajoutant les informaions complémentaires
        /// </summary>
        /// <param name="type">le niveau du log</param>
        /// <param name="message">le message</param>
        private void LogMessage(TypeLogEnum type, string message)
        {
            try
            {
                var log = new Logs
                {
                    Date  = DateUtils.GetMaintenant(),
                    Type  = type,
                    Texte = message
                };

                _db.Logs.Add(log);
                _db.SaveChanges();
            }
            catch (Exception)
            {
                // ignored
            }
        }
コード例 #8
0
        public bool Log(string message, TypeLogEnum typeLogEnum)
        {
            if (!isValidLogMessage(message))
            {
                return(false);
            }
            var messageTrimmed = message.Trim();

            if (typeLogEnum == TypeLogEnum.Error)
            {
                Console.ForegroundColor = ConsoleColor.Red;
            }
            if (typeLogEnum == TypeLogEnum.Warning)
            {
                Console.ForegroundColor = ConsoleColor.Yellow;
            }
            if (typeLogEnum == TypeLogEnum.Message)
            {
                Console.ForegroundColor = ConsoleColor.White;
            }

            Console.WriteLine($"{DateTime.Now.ToShortDateString()} {messageTrimmed}");
            return(true);
        }
コード例 #9
0
        public void RecordLog(Log log)
        {
            var typesAllowed = new TypeLogEnum []
            {
                TypeLogEnum.Error,
                TypeLogEnum.Warning,
                TypeLogEnum.Information
            };

            if (typesAllowed.Contains(log.Type))
            {
                try{
                    log.Date = DateTime.Now;
                    _logRepository.Insert(log);
                }catch (Exception e) {
                    Console.WriteLine(e.Message);
                    throw new Exception("An error ocurred, please contact the administrator.");
                }
            }
            else
            {
                throw new Exception("Just allowed 3 types of Log: Information, Error, Waring.");
            }
        }
コード例 #10
0
 public List <Log> Get(int code, string description, TypeLogEnum type)
 {
     Console.WriteLine($"code:{code} description:{description} type:{type} ");
     return(_logService.GetByFilter(code, description, type));
 }
コード例 #11
0
ファイル: Log.cs プロジェクト: pedrobarrostech/logman
 public Log(int code, string description, TypeLogEnum type)
 {
     this.Code        = code;
     this.Description = description;
     this.Type        = type;
 }