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.根据写入地址读取日志

相关推荐
m0_738120728 分钟前
网络安全编程——开发一个TCP代理Python实现
python·tcp/ip·安全·web安全·网络安全
金色熊族43 分钟前
装饰器模式(c++版)
开发语言·c++·设计模式·装饰器模式
七夜zippoe1 小时前
仓颉语言核心特性深度解析——现代编程范式的集大成者
开发语言·后端·鸿蒙·鸿蒙系统·仓颉
安当加密1 小时前
安全登录多人共用的机密电脑:基于动态凭证与会话隔离的解决方案
安全·电脑
四谎真好看1 小时前
Java 黑马程序员学习笔记(进阶篇21)
java·开发语言·笔记·学习·学习笔记
初见无风1 小时前
2.7 Lua代码中的可变参数
开发语言·lua·lua5.4
七月稻草人1 小时前
Rust 应用状态(App State)管理:类型安全与并发控制的艺术
开发语言·安全·rust
金仓拾光集2 小时前
金仓替代MongoDB:安全与性能协同提升——社交用户画像系统的国产化实践
数据库·安全·mongodb·kingbase·kingbasees·数据库平替用金仓·金仓数据库
GIS数据转换器2 小时前
科技赋能农业现代化的破局之道
大数据·科技·安全·机器学习·智慧城市·制造
无敌最俊朗@2 小时前
SQLite 约束 (Constraints) 面试核心知识点
java·开发语言·jvm