程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 簡單的日志管理代碼,簡單日志管理代碼

簡單的日志管理代碼,簡單日志管理代碼

編輯:C#入門知識

簡單的日志管理代碼,簡單日志管理代碼


自己寫的記錄日志,定期刪除日志的方法。

方法比較簡單,記錄一下吧。

/// <summary>
        /// 寫日志
        /// </summary>
        /// <param name="strMsg">內容</param>
        /// <param name="strPath">路徑(相對hycom下的文件夾路徑)</param>
        /// <param name="fileName">日志名(默認yyyy-MM-dd.txt)</param>
        public static void WriteLog(string strMsg,string strPath,string fileName)
        {
            string path = AppDomain.CurrentDomain.BaseDirectory + strPath;
            if(!path.EndsWith("\\")||!path.EndsWith("/"))
            {
                path+="\\";
            }
            if(!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            DeleteLog(path);
            if(fileName=="")
            {
                fileName = DateTime.Now.ToString("yyyy-MM-dd")+".txt";
            }
            if(!fileName.EndsWith(".txt"))
            {
                fileName+=".txt";
            }
            try
            {
                //string fileName =DateTime.Now.ToString("yyyy-MM-dd") + ".txt";

                StreamWriter sw = File.AppendText(path+fileName);

                sw.WriteLine("{0}:{1}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), strMsg);
                //sw.WriteLine("\n\r");
                sw.Flush();
                sw.Close();
            }
            catch { }
        }
        /// <summary>
        /// 寫日志
        /// </summary>
        /// <param name="strMsg">內容</param>
        /// <param name="strPath">路徑(相對hycom下的文件夾路徑)</param>
        public static void WriteLog(string strMsg,string strPath)
        {
            string fileName = DateTime.Now.ToString("yyyy-MM-dd")+".txt";
            WriteLog(strMsg,strPath,fileName);
        }

        /// <summary>
        /// 定期刪除日志
        /// </summary>
        /// <param name="strPath">日志路徑</param>
        private static void DeleteLog(string strPath)
        {
            
            if(Directory.Exists(strPath))
            {
                DirectoryInfo dinfor = new DirectoryInfo(strPath);
                FileInfo[] files = dinfor.GetFiles();
                foreach(FileInfo file in files)
                {
                    try
                    {
                        //刪除創建日志日期是3個月前的日志
                        if(DateTime.Compare(file.CreationTime.AddMonths(3),DateTime.Now)<0)
                        {
                            file.Delete();
                        }
                        //刪除最後修改日志日期是3個月前的日志
                        if(DateTime.Compare(file.LastWriteTime.AddMonths(3),DateTime.Now)<0)
                        {
                            file.Delete();
                        }
                        //刪除日志名稱日期是3個月前的日志
                        if(DateTime.Compare(Convert.ToDateTime(file.Name.Substring(0,10)),DateTime.Now.AddMonths(-3))<0)
                        {
                            file.Delete();
                        }
                    }
                    catch(Exception ex)
                    {
                        continue;
                    }
                }
            }
        }

  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved