C#中使用打印日志


在日常的工作中經常需要日志,這樣能夠很容易定位到代碼中的一些錯誤,.Net中有自帶的日志接口。並沒有仔細去研究,這里是我自己寫的日志接口,記錄下來以便以后用到,根據時間打印相關的日志文件,代碼如下:

namespace InspectionQueue.CommonHelper
{
    public class LogInfoHelp
    {
        /// <summary>
        /// 日志類型
        /// </summary>
        private enum LOG_TYPE
        {
            LOG_FAIL = 0,    //致命錯誤
            LOG_ERROR,       //一般錯誤
            LOG_EXCEPTION,   //異常
            LOG_WARN,        //警告
            LOG_INFO,        //一般信息
        }
        
        private StreamWriter LogFile = null;
        private static LogInfoHelp _instance = null;
        private string LogFilePath = null;

        public static LogInfoHelp GetInstance()
        {
            if(null == _instance)
            {
                _instance = new LogInfoHelp();
            }

            return _instance;
        }
        private LogInfoHelp() { }

        /// <summary>
        /// 創建日志文件
        /// </summary>
        public void CreateLogFile()
        {
            //獲取運行程序的路徑
            string logFilePath = AppDomain.CurrentDomain.BaseDirectory;
            string logFileName = (DateTime.Now.Year).ToString() + '-' 
                + (DateTime.Now.Month).ToString() + '-' + (DateTime.Now.Day).ToString() + "_Log.log";
            logFilePath += "logFile\\";
            if (!Directory.Exists(logFilePath))
            {
                Directory.CreateDirectory(logFilePath);
            }
            this.LogFilePath = logFilePath + logFileName;        
        }

        /// <summary>
        /// 信息寫入日志
        /// </summary>
        /// <param name="strMsg"></param>
        public void WriteInfoToLogFile(string strLogInfo, ConstValues.LOG_TYPE logType)
        {
            LogFile = new StreamWriter(LogFilePath, true);//文件保存位置
            string strlogInfo = null;
            switch(logType)
            {
                case ConstValues.LOG_TYPE.LOG_FAIL:
                    {
                        strlogInfo = String.Format("[{0}] 致命錯誤:{1}", DateTime.Now.ToString(), strLogInfo);
                    }
                    break;

                case ConstValues.LOG_TYPE.LOG_ERROR:
                    {
                        strlogInfo = String.Format("[{0}] 一般錯誤:{1}", DateTime.Now.ToString(), strLogInfo);
                    }
                    break;

                case ConstValues.LOG_TYPE.LOG_EXCEPTION:
                    {
                        strLogInfo = String.Format("[{0}] 異常:{1}", DateTime.Now.ToString(), strLogInfo);
                    }
                    break;

                case ConstValues.LOG_TYPE.LOG_WARN:
                    {
                        strLogInfo = String.Format("[{0}] 警告:{1}", DateTime.Now.ToString(), strLogInfo);
                    }
                    break;

                case ConstValues.LOG_TYPE.LOG_INFO:
                    {
                        strLogInfo = String.Format("[{0}] 一般信息:{1}", DateTime.Now.ToString(), strLogInfo);
                    }
                    break;                   
            }
            LogFile.WriteLine(strLogInfo);
            LogFile.Close();
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM