【发布时间】:2018-02-16 02:03:20
【问题描述】:
我喜欢如何从程序的任何部分调用 Console.Writeline,它只是添加到已经存在的文本中。有没有办法获得同样的便利,但改为写入文本文件?
public int my_function(int A, int B)
{
string this_line = string.format("total value: {0}", A+B);
Console.Writeline(this_string)
}
到目前为止,我的解决方案如下。它工作正常,但我觉得必须有更好的方法。也许某种方式可以让我在所有函数中访问一个全局 StreamWriter 对象而不将其传递给它们?
public int my_function(int A, int B)
{
string this_line = string.format("total value: {0}", A+B);
File.AppendAllText(logfile_path, this_line);
}
【问题讨论】:
-
小心多线程问题。
-
你应该使用日志框架。
-
重定向?在命令行中调用程序时添加
>> FileToRedirect.txtMyRoutine.exe >> c:\MyFile.txt甚至MyRoutine.exe >> c:\Log.txt 2>> c:\Errors.txt(将stdout和stderr重定向到不同的文件中)
标签: c# io streamwriter file-writing console.writeline