C# 将日志写入文本文件

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: <span style="font-size:14px;"> <span style="white-space:pre"> </span>/// <summary> /// 记录文本文件日志方法 /// </summary> /// <param name="FileCon
 
 

<span style="font-size:14px;"> <span style="white-space:pre">	</span>/// <summary>
        /// 记录文本文件日志方法
        /// </summary>
        /// <param name="FileContent">需要记录的文件内容</param>
        /// <param name="TxtFileName">保存的文件名</param>
        /// <param name="ErrMsg">错误信息</param>
        /// <returns></returns>
        public static bool WriteFile(string FileContent, string TxtFileName, out string ErrMsg)
        {
            ErrMsg = string.Empty;
            StreamWriter writer = null;
            string sCurDate = System.DateTime.Now.ToString("yyyy-MM-dd");
            string sFile = sCurDate + TxtFileName + ".txt";
            sFile = "D:\\Log\\Log001.txt";
            try
            {
                if (File.Exists(sFile))
                    writer = new StreamWriter(sFile, true, System.Text.Encoding.GetEncoding("UTF-8"));
                else
                    writer = new StreamWriter(sFile, false, System.Text.Encoding.GetEncoding("UTF-8"));
                string sDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:sss");
                writer.WriteLine("<" + sDateTime + "> " + " " + FileContent);
            }
            catch (IOException e)
            {
                ErrMsg = e.Message;
                return false;
            }
            finally
            {
                if (writer != null)
                    writer.Close();
            }
            return true;
        }</span>

小注:
         路径文件夹需要服务everyone完全的权限。
版本二(可以创建文件夹目录)
<span style="font-size:14px;">  /// <summary>
        /// 记录文本文件日志方法
        /// </summary>
        /// <param name="FileContent">需要记录的文件内容</param>
        /// <param name="TxtFileName">保存的文件名</param>
        /// <param name="SubFolder">子文件名</param>
        /// <param name="ErrMsg">错误信息</param>
        /// <returns></returns>
        public static bool WriteFile(string FileContent, string TxtFileName, string SubFolder, out string ErrMsg)
        {
            ErrMsg = string.Empty;
            StreamWriter writer = null;
            string sCurDate = System.DateTime.Now.ToString("yyyy-MM-dd");
            string sFile = sCurDate + TxtFileName + ".txt";
            string sFolder = string.Empty;
            if (SubFolder != null && SubFolder.Trim().Length > 0)
            {
                sFile = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "Log\\" + SubFolder + "\\" + sFile;
                sFolder = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "Log\\" + SubFolder;
            }
            else
            {
                sFile = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "Log\\" + sFile;
                sFolder = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "Log\\";
            }
            try
            {
                if (!Directory.Exists(sFolder))
                {
                    Directory.CreateDirectory(sFolder);
                }
                if (File.Exists(sFile))
                {
                    writer = new StreamWriter(sFile, true, System.Text.Encoding.GetEncoding("UTF-8"));
                }
                else
                {
                    writer = new StreamWriter(sFile, false, System.Text.Encoding.GetEncoding("UTF-8"));
                }
                string sDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:sss");
                writer.WriteLine("<" + sDateTime + "> " + " " + FileContent);
            }
            catch (IOException e)
            {
                ErrMsg = e.ToString();
                return false;
            }
            finally
            {
                if (writer != null)
                {
                    writer.Close();
                }
            }
            return true;
        }</span>



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
4月前
|
Java Apache 开发工具
【Azure 事件中心】 org.slf4j.Logger 收集 Event Hub SDK(Java) 输出日志并以文件形式保存
【Azure 事件中心】 org.slf4j.Logger 收集 Event Hub SDK(Java) 输出日志并以文件形式保存
|
27天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
131 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
27天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
【赵渝强老师】Oracle的控制文件与归档日志文件
|
27天前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
|
2月前
|
监控 Linux 应用服务中间件
系统监控:使用日志文件 journalctl的使用
本文介绍了如何使用`journalctl`命令来监控和查看Linux系统的日志文件,包括查看特定行数、过滤日志级别、实时跟踪日志、按时间段查询日志以及日志轮换和压缩的配置。
74 2
系统监控:使用日志文件 journalctl的使用
|
2月前
|
SQL 数据库
为什么 SQL 日志文件很大,我应该如何处理?
为什么 SQL 日志文件很大,我应该如何处理?
|
2月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
39 1
|
2月前
|
存储 监控 固态存储
如何监控和优化 WAL 日志文件的存储空间使用?
如何监控和优化 WAL 日志文件的存储空间使用?
|
2月前
|
SQL 数据库
为什么SQL日志文件很大,该如何处理?
为什么SQL日志文件很大,该如何处理?
|
3月前
|
缓存 监控 算法
分析慢日志文件来优化 PHP 脚本的性能
分析慢日志文件来优化 PHP 脚本的性能