添加到listView,写入到log日志文件

 public void AddInfo(string log,InfoSeverity s,bool outFile = true)
        {
            string[] str = new string[3];
            str[0] = listView1.Items.Count.ToString();
            str[1] = DateTime.Now.ToString();
            str[2] = log;
            ListViewItem lst = new ListViewItem(str);
            switch (s)
            {
                case InfoSeverity.Error:
                    lst.BackColor = Color.White;//背景色
                    lst.ForeColor = Color.Red;//前景色
                    break;
                case InfoSeverity.Info:
                    lst.BackColor = Color.White;//背景色
                    lst.ForeColor = Color.Blue;//前景色
                    break;
                case InfoSeverity.Warning:
                    lst.BackColor = Color.Yellow;
                    lst.ForeColor = Color.Black;//前景色
                    break;
                default:
                    break;
            }
            //让最新产生的信息显示在第一行
            this.listView1.Items.Insert(0, lst);
            listView1.Items[0].EnsureVisible();

            //是否需要输出到文件
            if (outFile)
            {
                WriteLog.WriteLogToFile("Log" ,log, (WriteLog.InfoSeverity)(Convert.ToInt32(s)));
            }
        }

写文件类的实现

 public static class WriteLog
    {

        /// <summary>
        /// 消息严重性,枚举
        /// </summary>
        public enum InfoSeverity
        {
            Error,
            Info,
            Warning
        }


        /// <summary>
        /// 写日志到文件,文件位于应用程序的同级目录
        /// </summary>
        /// <param name="msg">需要写入的日志内容</param>
        public static void WriteLogToFile(string msg, InfoSeverity severity)
        {
            string filePath = AppDomain.CurrentDomain.BaseDirectory + "Log";
            if (!Directory.Exists(filePath))//判断文件是否存在,不存在则创建
            {
                Directory.CreateDirectory(filePath);
            }
            string logPath = AppDomain.CurrentDomain.BaseDirectory + "Log\\" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
            try
            {
                using (StreamWriter sw = File.AppendText(logPath))
                {
                    //sw.WriteLine(DateTime.Now.ToString("HH:mm:ss") + "\t" + msg);
                    sw.WriteLine("消息     :" + msg);
                    sw.WriteLine("时间     :" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                    sw.WriteLine("严重性   :" + severity.ToString());
                    sw.WriteLine("**************************************************");
                    sw.WriteLine();
                    sw.Flush();
                    sw.Close();
                    sw.Dispose();
                }
            }
            catch (IOException e)
            {
                using (StreamWriter sw = File.AppendText(logPath))
                {
                    sw.WriteLine("异常     :" + e.Message);
                    sw.WriteLine("时间     :" + DateTime.Now.ToString("yyy-MM-dd HH:mm:ss"));
                    sw.WriteLine("严重性   :Error" );
                    sw.WriteLine("**************************************************");
                    sw.WriteLine();
                    sw.Flush();
                    sw.Close();
                    sw.Dispose();
                }
            }
        }

        /// <summary>
        /// 重载函数:
        /// 写日志到文件,文件位于应用程序的同级目录
        /// </summary>
        /// <param name="documentName">日志文件的名称</param>
        /// <param name="msg">需要写入的日志内容</param>
        public static void WriteLogToFile(string documentName, string msg, InfoSeverity severity)
        {
            string errorLogFilePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Log");
            if (!System.IO.Directory.Exists(errorLogFilePath))
            {
                System.IO.Directory.CreateDirectory(errorLogFilePath);
            }
            string logFile = System.IO.Path.Combine(errorLogFilePath, documentName + "@" + DateTime.Today.ToString("yyyy-MM-dd") + ".txt");
            bool writeBaseInfo = System.IO.File.Exists(logFile);
            StreamWriter swLogFile = new StreamWriter(logFile, true, Encoding.Unicode);
            //swLogFile.WriteLine(DateTime.Now.ToString("HH:mm:ss") + "\t" + msg);
            swLogFile.WriteLine("消息     :" + msg);
            swLogFile.WriteLine("时间     :" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            swLogFile.WriteLine("严重性   :" + severity.ToString());
            swLogFile.WriteLine("**************************************************");
            swLogFile.Close();
            swLogFile.Dispose();
        }
    }