C# 写程序日志 log文件

最近项目上,做了一个比较大的程序,需要用到程序日志记录程序的运行。于是在网上找了一些资料,经过自己的整理分享给大家。本人程序名称为Analysis,生成的日志文件为Analysis.log

调用的时候,只需Form1.WriteMsg()即可。非常方便,先看一下效果。日期+文件名称+行号。

以下为源代码:

            try
            {
                string path = ConfigPATH+"\\log";
                if (!Directory.Exists(path))//判断是否有该文件            
                    Directory.CreateDirectory(path);             
                string logFileName = path + "\\Analysis.log";//生成日志文件
                if (!File.Exists(logFileName))//判断日志文件是否为当天
                    File.Create(logFileName).Close();//创建文件
               
                StreamWriter writer = File.AppendText(logFileName);//文件中添加文件流
                writer.WriteLine("");
                writer.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + msg);
                writer.Flush();
                writer.Close();
            }
            catch (Exception e)
            {
                string path = Path.Combine("./log");
                if (!Directory.Exists(path))
                    Directory.CreateDirectory(path);
                string logFileName = path + "\\Analysis" + DateTime.Now.ToString("yyyy-MM-dd") + ".log";
                if (!File.Exists(logFileName))
                    File.Create(logFileName);
                StreamWriter writer = File.AppendText(logFileName);
                writer.WriteLine("");
                writer.WriteLine(DateTime.Now.ToString("日志记录错误HH:mm:ss") + " " + e.Message + " " + msg);
                writer.Flush();
                writer.Close();
            }



  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
C# 中,可以使用 System.IO 命名空间中的 StreamWriter 类来本地日志。具体实现步骤如下: 1. 在代码中引入 System.IO 命名空间: ``` using System.IO; ``` 2. 创建一个 StreamWriter 对象,指定要入的文件路径以及文件打开模式: ``` StreamWriter sw = new StreamWriter("log.txt", true); ``` 其中,第一个参数为文件路径,可以是相对路径或绝对路径;第二个参数为文件打开模式,如果为 true,则表示以追加的方式打开文件,如果为 false,则表示以覆盖的方式打开文件。 3. 使用 StreamWriter 对象的 Write 方法或 WriteLine 方法向文件日志: ``` sw.WriteLine(DateTime.Now.ToString() + " - " + message); ``` 其中,DateTime.Now.ToString() 为当前时间的字符串表示,message 为要入的日志内容。 4. 在程序结束时,关闭 StreamWriter 对象: ``` sw.Close(); ``` 完整的示例代码如下: ``` using System; using System.IO; namespace MyProgram { class Program { static void Main(string[] args) { StreamWriter sw = new StreamWriter("log.txt", true); // 日志 sw.WriteLine(DateTime.Now.ToString() + " - Program started."); // 运行程序的主要逻辑 Console.WriteLine("Program is running..."); // 日志 sw.WriteLine(DateTime.Now.ToString() + " - Program ended."); sw.Close(); } } } ``` 这样做可以将程序的运行日志入到本地的 log.txt 文件中。如果需要记录更多信息,可以在日志时添加更多的内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值