zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    }
  • 相关阅读:
    dom4j读写XML文件
    Spring的javaMail邮件发送(带附件)
    PayPal网站付款标准版(for PHP)
    SpringMVC整合TaskExecutor线程池的配置/使用
    SELECT INTO和INSERT INTO SELECT(SQL Server)
    java简单的数据库查询(SQLServer数据库)
    oracle导入TYPE对象报错ORA-02304
    mysql将字符串转化为数字
    asp.net应用发布到IIS无法链接到oracle数据库
    使用js获取数组中最大、最小的数字
  • 原文地址:https://www.cnblogs.com/QingYiShouJiuRen/p/10247009.html
Copyright © 2011-2022 走看看