码迷,mamicode.com
首页 > 其他好文 > 详细

简单的日志管理代码

时间:2016-02-15 09:24:29      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

自己写的记录日志,定期删除日志的方法。

方法比较简单,记录一下吧。

/// <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;
                    }
                }
            }
        }

  

简单的日志管理代码

标签:

原文地址:http://www.cnblogs.com/shouce/p/5189873.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!