C#简易读写日志

推荐仅在.NET Framework中使用

简易写入日志
csharp 复制代码
/// <summary>
/// 写入日志
/// </summary>
/// <param name="str">写人内容</param>
/// <param name="fileStr">自定义文件名</param>
/// <returns></returns>
private string Log(string str, string fileStr)
{
    try
    {
        //在程序目录创建log文件
        var logPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log");
        //存在则创建
        if (!Directory.Exists(logPath))
        {
            Directory.CreateDirectory(logPath);
        }
        //创建指定日志文件
        var FileStr = logPath + $"\\{fileStr}_{DateTime.Now.ToString("yyyyMMddHHmmss")}.txt";
        using (StreamWriter sw = File.AppendText(FileStr))
        {
            sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":" + str);
            sw.Flush();
        }
        return FileStr;
    }
    catch (Exception) { return ""; }
}
简易读取日志
csharp 复制代码
 /// <summary>
 /// 简易读取
 /// </summary>
 /// <param name="Path"></param>
 /// <returns></returns>
 private string LogStr(string Path)
 {
     string txt = string.Empty;
     using (StreamReader sr = new StreamReader(Path))
     {
         string line;
         while ((line = sr.ReadLine()) != null)
         {
             txt += line;
         }
     }
     return txt;
 }
简易调用日志
csharp 复制代码
static void Main(string[] args)
{
    var p = new Program();
    //写入
    //var pFile = p.Log("简易日志", "log");
    //Console.WriteLine(pFile);
    //读取
    var pLogStr = p.LogStr("C:\\Users\\admin\\Desktop\\netFramework\\bin\\Debug\\log\\log_20240522140312.txt");
    Console.WriteLine(pLogStr);
}
运行结果

1.写入后返回写入地址

2.根据写入地址读取日志

相关推荐
龙飞054 小时前
Kubernetes 疑难杂症:Pod 始终处于 Terminating 状态的真实原因与安全修复方案
安全·云原生·容器·kubernetes
啵啵鱼爱吃小猫咪4 小时前
机械臂阻抗控制github项目-mujoco仿真
开发语言·人工智能·python·机器人
似水明俊德4 小时前
02-C#
开发语言·c#
MaximusCoder4 小时前
等保测评命令——Centos Linux
linux·运维·经验分享·python·安全·centos
oem1104 小时前
C++中的享元模式实战
开发语言·c++·算法
似水明俊德5 小时前
01-C#.Net-泛型-面试题
java·开发语言·面试·c#·.net
leonkay5 小时前
Golang语言闭包完全指南
开发语言·数据结构·后端·算法·架构·golang
Allnadyy5 小时前
【C++项目】从零实现高并发内存池(一):核心原理与设计思路
java·开发语言·jvm
雅欣鱼子酱5 小时前
Type-C供电PD协议取电Sink芯片ECP5702,可二端头分开供电调整亮度,适用于LED灯带户外防水超亮灯条方案
c语言·开发语言
鹓于5 小时前
手机SSH直连电脑运行iflow终极安全配置
windows·安全·ssh