Exemple #1
0
        public void LogMessage(Enums.LogCategory logCategory, string message)
        {
            string fileName = ConfigurationManager.AppSettings["LogFileDirectory"] + "LogFile" + DateTime.Now.ToString("yyyyMMdd") + ".txt";

            try
            {
                using (StreamWriter file = new StreamWriter(fileName, true)){
                    file.WriteLine(string.Format("{0} - {1}", logCategory.ToString(), message));
                    file.Close();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
            }
        }
Exemple #2
0
        /// <summary>
        /// A better aproach for a Logger is to keep the Single Responsibility Principle
        /// </summary>
        /// <param name="logCategory"></param>
        /// <param name="message"></param>
        public void LogMessage(Enums.LogCategory logCategory, string message)
        {
            if (this._loggers.Count == 0)
            {
                throw new Exception("Invalid configuration");
            }

            if (this._logCategories.Count == 0)
            {
                throw new Exception("Error or Warning or Message must be specified");
            }

            if (!String.IsNullOrEmpty(message) &&
                this._logCategories.Exists(x => x == logCategory))
            {
                foreach (ILogger logger in _loggers.Distinct())
                {
                    logger.LogMessage(logCategory, message);
                }
            }
        }
Exemple #3
0
        public void LogMessage(Enums.LogCategory logCategory, string message)
        {
            {
                var connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"];
                var providerName     = connectionString.ProviderName;
                var factory          = DbProviderFactories.GetFactory(providerName);

                try
                {
                    using (IDbConnection connection = factory.CreateConnection())
                    {
                        connection.ConnectionString = connectionString.ConnectionString;
                        connection.Open();
                        using (IDbCommand command = connection.CreateCommand())
                        {
                            command.CommandText = "insert into Log values(@message, @type)";

                            var parameterMessage = command.CreateParameter();
                            parameterMessage.ParameterName = "@message";
                            parameterMessage.Value         = message;
                            command.Parameters.Add(parameterMessage);

                            var parameterType = command.CreateParameter();
                            parameterType.ParameterName = "@type";
                            parameterType.Value         = logCategory.ToString();
                            command.Parameters.Add(parameterType);

                            command.ExecuteNonQuery();
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.StackTrace);
                }
            }
        }