C# 保存日志

       object obj = new object();
        ///


        /// 写日志
        ///

        ///
        public void writeLog(string msg)
        {
            lock (obj)
            {
                try
                {

                    //判断是否已经有了这个文件
                    string logPath = Application.StartupPath + "\\logFile";

                    string logFileName = logPath+"\\" + DateTime.Now.ToString("yyMMdd") + ".txt";// @"C:\www\fourth\apiDll\log.txt";
                    if(!System.IO.Directory.Exists(logPath))
                    {
                        System.IO.Directory.CreateDirectory(logPath);
                    }
                    DirectoryInfo dir = new DirectoryInfo(logPath);
                    FileInfo[] _files = dir.GetFiles();
                    foreach(FileInfo _file in _files)
                    {
                        //删除两天前的日志
                        if (_file.CreationTime < DateTime.Now.AddDays(-2))
                        {
                            File.SetAttributes(_file.FullName, FileAttributes.Normal);
                            _file.Delete();
                        }
                    }
                    Encoding logFileEncoding = Encoding.UTF8;
                    bool IsAppend = true;
                    if (System.IO.File.Exists(logFileName))
                    {
                        System.IO.FileInfo f = new System.IO.FileInfo(logFileName);
                        //if (f.Length > 100 * 1024)
                        //    IsAppend = false;
                    }
                    using (System.IO.StreamWriter sw = new System.IO.StreamWriter(logFileName, IsAppend, logFileEncoding))
                    {
                        sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss: ") + msg);
                    }
                }
                catch
                {

                }
            }
        }
 

你可能感兴趣的:(C#,c#)