Простой логгер
От: Аноним  
Дата: 28.02.05 10:16
Оценка:
Набросал вот простенький класс для логгирования в многопоточном приложении. Несколько смущает его простота и место, где я делаю lock(type). Покритикуйте, пожалуйста


    public class Logger
    {
        private static Hashtable _logListHash = Hashtable.Synchronized(new Hashtable());

        public static void AddLog(object source, string log)
        {
            Type type = source.GetType();
            lock(type)
            {            
                if(!_logListHash.ContainsKey(type))
                {
                    string newLogString = string.Empty;
                    _logListHash[type] = newLogString;
                }
                
                string logString = (string)_logListHash[type];
                logString += log;
                _logListHash[type] = logString;
            }
        }

        public static ICollection GetLogSourceList()
        {
            return _logListHash.Keys;
        }

        public static string GetLog(Type type)
        {
            if(!_logListHash.ContainsKey(type))
                return "";
            return (string)_logListHash[type];
        }
    }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.