C# 写日志文件

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: C# 写日志文件

常用方法:

public class FileHelper
{
    /// <summary>
    /// 用得比较多
    /// </summary>
    /// <param name="msg"></param>
    public static void WriteAppend(string msg)
    {
        System.IO.StreamWriter sw = null;
        try
        {
            var fileName = "C:\\temp\\vipsoft.log";
            //判断文件是否存在
            if (!Directory.Exists(fileName))
            {
                Directory.CreateDirectory(fileName);
            }
            sw = File.AppendText(fileName); 
            sw.WriteLine(msg);
            sw.Flush();
            sw.Close();
        }
        catch (Exception e)
        {
            throw e;
        }
        finally
        {
            if (sw != null)
            {
                sw.Close();
            }
        }
    }
    private static void Write(string fileName, byte[] bytes)
    {
        FileStream fs = null;
        string filePath = "C:\\temp\\" + fileName + ".ecg";
        Encoding encoder = Encoding.UTF8;
        try
        {
            //判断文件是否存在
            if (!Directory.Exists(filePath))
            {
                Directory.CreateDirectory(filePath);
            }
            fs = File.OpenWrite(filePath);
            fs.Position = fs.Length;
            fs.Write(bytes, 0, bytes.Length);
        }
        catch (Exception ex)
        {
            NLogHelper.Error(ex.Message);
        }
        finally
        {
            if (fs != null)
                fs.Close();
        }
    }
    public static void Write(string msg)
    {
        System.IO.FileStream fs = null;
        System.IO.StreamWriter sw = null;
        try
        {
            string time = System.DateTime.Now.ToString();
            var fileName = "C:\\temp\\vipsoft.log";
            string filePath = System.Web.HttpContext.Current.Server.MapPath(fileName);
            fs = new System.IO.FileStream(filePath, System.IO.FileMode.Append);
            sw = new System.IO.StreamWriter(fs, System.Text.Encoding.GetEncoding("utf-8"));
            sw.WriteLine("======================");
            sw.WriteLine(time);
            sw.WriteLine("----------------------");
            sw.WriteLine(msg);
            sw.WriteLine("----------------------");
        }
        catch (Exception e)
        {
            throw e;
        }
        finally
        {
            if (fs != null)
            {
                fs.Close();
            }
            if (sw != null)
            {
                sw.Close();
            }
        }
    }
}

 

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