using System;
using System.IO;
using System.Text;

namespace Controls.Helper
{
    public class LoggerHelper
    {
        private static object o = new object();

        private static string GetLogFilePath()
        {
            string filePath = AppDomain.CurrentDomain.BaseDirectory + @"\Log\ExeConfig\";
            //判断路径、文件是否存在,如不存在则生成相关资源
            if (!Directory.Exists(filePath))
            {
                Directory.CreateDirectory(filePath);
            }
            //设置文件名
            string currtime = DateTime.Now.ToString("yyyyMMdd");
            filePath = filePath +currtime + ".log";
            if (!File.Exists(filePath))
            {
                FileStream fs = File.Create(filePath);
                fs.Close();
            }
            return filePath;
        }

        public static void WriteLog(string errorStr, Exception e)
        {
            try
            {
                lock (o)
                {
                    string filepath = GetLogFilePath();
                    StreamWriter writer = new StreamWriter(filepath, true, Encoding.GetEncoding("utf-8"));
                    string title = string.Format("================================{0}================================", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
                    writer.WriteLine(string.Empty);
                    writer.WriteLine(title);
                    writer.WriteLine(string.Format("错误内容:{0}", errorStr));
                    if (e != null)
                    {
                        writer.WriteLine(string.Format("异常信息:{0}", e.ToString()));
                        writer.WriteLine(string.Format("错误消息: {0}", e.Message + (e.InnerException == null ? "" : e.InnerException.Message)));
                        writer.WriteLine(string.Format("调用堆栈: {0}", e.StackTrace));
                    }
    
                    writer.WriteLine(title);
                    writer.WriteLine(string.Empty);
                    writer.Flush();
                    writer.Close();

                }
            }
            catch (Exception ex)
            {

            }
        }

    }
}            

  

 

posted on 2023-09-08 19:39  潇潇烟雨  阅读(16)  评论(0编辑  收藏  举报