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日志并进行多维度分析。
目录
相关文章
|
2月前
|
Java Apache 开发工具
【Azure 事件中心】 org.slf4j.Logger 收集 Event Hub SDK(Java) 输出日志并以文件形式保存
【Azure 事件中心】 org.slf4j.Logger 收集 Event Hub SDK(Java) 输出日志并以文件形式保存
|
17天前
|
监控 Linux 应用服务中间件
系统监控:使用日志文件 journalctl的使用
本文介绍了如何使用`journalctl`命令来监控和查看Linux系统的日志文件,包括查看特定行数、过滤日志级别、实时跟踪日志、按时间段查询日志以及日志轮换和压缩的配置。
15 2
系统监控:使用日志文件 journalctl的使用
|
10天前
|
SQL 数据库
为什么 SQL 日志文件很大,我应该如何处理?
为什么 SQL 日志文件很大,我应该如何处理?
|
14天前
|
存储 C#
【C#】大批量判断文件是否存在的两种方法效率对比
【C#】大批量判断文件是否存在的两种方法效率对比
23 1
|
17天前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
31 1
|
17天前
|
存储 监控 固态存储
如何监控和优化 WAL 日志文件的存储空间使用?
如何监控和优化 WAL 日志文件的存储空间使用?
|
12天前
|
SQL 数据库
为什么SQL日志文件很大,该如何处理?
为什么SQL日志文件很大,该如何处理?
|
1月前
|
缓存 监控 算法
分析慢日志文件来优化 PHP 脚本的性能
分析慢日志文件来优化 PHP 脚本的性能
|
1月前
|
消息中间件 存储 监控
Kafka的logs目录下的文件都是什么日志?
Kafka的logs目录下的文件都是什么日志?
62 11
|
17天前
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
44 0