c# 日志帮助类

public class LogManager

    {

        private string PathName;

        private string FileName;

        ///

        /// 构造 Log

        ///

        /// 相对于当前程序目录下 Log目录的相对路径,

         ///如System,就相当于 .\Log\System\

        public LogManager(string pathname)

        {

            if (String.IsNullOrEmpty(pathname))

            {

                throw new Exception("没有初始化 Log 类的 PathName 变量");

            }

            PathName = System.AppDomain.CurrentDomain.BaseDirectory + "Log\\" + pathname;

            if (!Directory.Exists(PathName))

            {

                try

                {

                    Directory.CreateDirectory(PathName);

                }

                catch { }

            }

            if (!Directory.Exists(PathName))

            {

                PathName = System.AppDomain.CurrentDomain.BaseDirectory + "Log";

                if (!Directory.Exists(PathName))

                {

                    try

                    {

                        Directory.CreateDirectory(PathName);

                    }

                    catch { }

                }

                if (!Directory.Exists(PathName))

                {

                    PathName = System.AppDomain.CurrentDomain.BaseDirectory;

                }

            }

            FileName = PathName + "\\" + DateTime.Now.ToString("yyyy-MM-dd") + ".log";

        }

        public void Write(string Message)

        {

            FileName = PathName + "\\" + DateTime.Now.ToString("yyyy-MM-dd") + ".log";

            if (String.IsNullOrEmpty(FileName))

            {

                return;

            }

            using (FileStream fs = new FileStream(FileName, FileMode.Append, FileAccess.Write, FileShare.Write))

            {

                StreamWriter writer = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GBK"));

                try

                {

                    writer.WriteLine(System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":" + System.DateTime.Now.Millisecond.ToString() + "\t\t" + Message + "\r\n");

                }

                catch { }

                writer.Close();

            }

        }

    }

你可能感兴趣的:(c# 日志帮助类)