Net Core教程

[c#]轻量级写日志

本文主要是介绍[c#]轻量级写日志,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

调用

   var filePath = "logs/Sql/Info/" + DateTime.Now.ToString("yyyy\\MM\\dd") + ".log";
   //添加日志记录
   DoIOFile.Write(filePath, strSql, true, "UTF-8");

方法

      /// <summary>
        /// 创建文件或者附加内容
        /// </summary>
        /// <param name="Data">要写入的文本</param>
        /// <param name="Encode">编码方式</param>
        /// <param name="filePath">文件路径(支持相对路径或绝对路径)</param>
        /// <param name="IsAppend">附加还是全新写入</param>
        public static bool Write(string filePath, string Data, bool IsAppend = true, string Encode = "UTF-8")
        {
            Encode = string.IsNullOrEmpty(Encode) ? "UTF-8" : Encode;
            try
            {
                //获取文件对象
                FileInfo file = new FileInfo(filePath);
                //判断文件夹是否创建
                if (!file.Directory.Exists) { file.Directory.Create(); }
                //判断文件是否存在
                //或者判断文件属性是否只读,是只读的话将只读属性去掉
                if (!file.Exists) { using (file.Create()) { } }
                else if (file.Attributes.ToString().IndexOf("ReadOnly") != -1) { file.IsReadOnly = false; }
                //将内容覆盖或者追加到文件的最后
                using (StreamWriter writer = new StreamWriter(file.FullName, IsAppend, Encoding.GetEncoding(Encode)))
                {
                    writer.Write(Data);
                    writer.Flush();
                }
                return true;
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
                return false;
            }
        }

这篇关于[c#]轻量级写日志的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!