Exemplo n.º 1
0
        public static ILog GetLogger(string baseFilePath, string baseFileName = @"Log")
        {
            //baseFileName = baseFileName.ToUpper();
            lock (myLock)
            {
                CommonLogger _instance = _instances.FirstOrDefault(instance => instance.BaseFileName.Equals(baseFileName));
                if (_instance != null && _instance.BaseFileDate.Date != DateTime.Now.Date)
                {
                    //日期变了
                    _instance.UnInitialize();
                    _instances.Remove(_instance);
                    _instance = null;
                }
                //判断文件大小
                if (_instance != null)
                {
                    FileInfo fi = new FileInfo(_instance.BaseFileFullPath);
                    if (fi.Exists && fi.Length > SINGLEFILE_MAX_SIZE)
                    {
                        _instance.UnInitialize();
                        _instances.Remove(_instance);
                        _instance = null;
                    }
                }

                if (_instance == null)
                {
                    _instance = new CommonLogger(baseFilePath);
                    _instance.BaseFileName = baseFileName;
                    _instance.Initialize();
                    _instances.Add(_instance);
                }

                DelLogFile("", DateTime.Now.AddHours(-24));
                return(_instance);
            }
        }
Exemplo n.º 2
0
        public static ILog GetLogger(string baseFilePath,string baseFileName = @"Log")
        {
            //baseFileName = baseFileName.ToUpper();
            lock (myLock)
            {
                CommonLogger _instance = _instances.FirstOrDefault(instance => instance.BaseFileName.Equals(baseFileName));
                if (_instance != null && _instance.BaseFileDate.Date != DateTime.Now.Date)
                {
                    //日期变了
                    _instance.UnInitialize();
                    _instances.Remove(_instance);
                    _instance = null;
                }
                //判断文件大小
                if (_instance != null)
                {
                    FileInfo fi = new FileInfo(_instance.BaseFileFullPath);
                    if (fi.Exists && fi.Length > SINGLEFILE_MAX_SIZE)
                    {
                        _instance.UnInitialize();
                        _instances.Remove(_instance);
                        _instance = null;
                    }
                }

                if (_instance == null)
                {
                    _instance = new CommonLogger(baseFilePath);
                    _instance.BaseFileName = baseFileName;
                    _instance.Initialize();
                    _instances.Add(_instance);
                }

                DelLogFile("", DateTime.Now.AddHours(-24));
                return _instance;
            }
        }