LogManager.cs 1.7 KB
using System;

namespace eyemLib_Sharp.log4cpp
{
    public class LogManager : Log4CPPBase, ILog4CPP
    {
        public LogManager(string filepath, string filename, GenerateMode generateMode = GenerateMode.ByEveryHour)
        {
            m_filePath = filepath;
            m_fileName = filename;
            m_generateMode = generateMode;
        }

        /// <summary>
        /// 文件的路径
        /// </summary>
        private string m_filePath = string.Empty;
        /// <summary>
        /// 文件名称
        /// </summary>
        private string m_fileName = string.Empty;

        private GenerateMode m_generateMode = GenerateMode.ByEveryHour;

        protected override string GetLogFilePath()
        {
            if (string.IsNullOrEmpty(m_filePath)) return string.Empty;
            switch (m_generateMode)
            {
                case GenerateMode.ByEveryMinitues:
                    return m_filePath + DateTime.Now.ToString("yyyy年MM月dd日HH时mm分") + m_fileName + ".txt";
                case GenerateMode.ByEveryHour:
                    return m_filePath + DateTime.Now.ToString("yyyy年MM月dd日HH时") + m_fileName + ".txt";
                case GenerateMode.ByEveryDay:
                    return m_filePath + DateTime.Now.ToString("yyyy年MM月dd日") + m_fileName + ".txt";
                default: return string.Empty;
            }
        }
        public string[] GetExistLogFileNames()
        {
            if (!string.IsNullOrEmpty(m_filePath))
            {
                return System.IO.Directory.GetFiles(m_filePath, "*.txt");
            }
            else
            {
                return new string[] { };
            }
        }
    }
}