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) 输出日志并以文件形式保存
|
2月前
|
运维 安全 Linux
【揭秘】如何轻松掌控Linux系统命脉?——一场探索日志文件奥秘的旅程,带你洞悉系统背后的故事!
【8月更文挑战第21天】日志文件对Linux系统至关重要,记录着包括应用行为、组件状态和安全事件在内的系统活动,如同系统的“黑匣子”。掌握日志查看技巧是系统管理的基础技能,有助于快速诊断问题。常用命令包括`cat`、`tail`和`grep`等,可用于查看如`/var/log/messages`和`/var/log/auth.log`等系统日志文件,以及特定应用的日志。`journalctl`则用于查看systemd服务日志。此外,`logrotate`工具可管理日志文件的滚动和归档,确保系统高效运行。
41 4
|
1天前
|
监控 Linux 应用服务中间件
系统监控:使用日志文件 journalctl的使用
本文介绍了如何使用`journalctl`命令来监控和查看Linux系统的日志文件,包括查看特定行数、过滤日志级别、实时跟踪日志、按时间段查询日志以及日志轮换和压缩的配置。
6 2
系统监控:使用日志文件 journalctl的使用
|
1天前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
14 1
|
1天前
|
存储 监控 固态存储
如何监控和优化 WAL 日志文件的存储空间使用?
如何监控和优化 WAL 日志文件的存储空间使用?
|
21天前
|
缓存 监控 算法
分析慢日志文件来优化 PHP 脚本的性能
分析慢日志文件来优化 PHP 脚本的性能
|
1月前
|
消息中间件 存储 监控
Kafka的logs目录下的文件都是什么日志?
Kafka的logs目录下的文件都是什么日志?
49 11
|
2天前
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
10 0
|
2月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
14天前
|
Python
Python如何将日志输入到文件里
Python如何将日志输入到文件里