![](/img/trans.png)
[英]How to write testcases using Xunit test for extension method like Any
[英]How to write a message to log file or console using extension method
這是我的代碼
class Program
{
static void Main(string[] args)
{
(from d in new DirectoryInfo("E:\\")
.GetDirectories() select d.Name)
.WriteToConsole(Logger.WriteToLog , true);
// .WriteToConsole(Console.WriteLine);
}
}
public static class Logger
{
public static void WriteToLog(dynamic data)
{
string filePath = string.Format("{0}\\log.txt", Environment.CurrentDirectory);
var stream = File.Create(filePath);
stream.Write(Encoding.UTF8.GetBytes(data), 0, Encoding.UTF8.GetByteCount(data));
stream.Flush();
stream.Close();
}
}
public static class WriteExtensions
{
public static void WriteToConsole<T1>(this IEnumerable<T1> data , Action<T1> action, bool carelist = false)
{
if (carelist)
{
// all i want is to invoke action by sending data rather than
// one by one
return;
}
foreach (var item in data)
{
action.Invoke(item);
}
}
}
問題是我們可以一行一行地寫入控制台..但是要寫入文件,我想一次全部放入..任何幫助..謝謝
您的日志記錄要求非常復雜。 因此,我建議已經存在的日志記錄框架 。 它們具有您需要的功能,但也許還沒有意識到您需要它們。 支持登錄到控制台和日志文件,可以在配置文件中啟用它,而不必直接在代碼中啟用。 同時記錄到多個目標。 還基於日志的嚴重性進行過濾。 當日期更改或文件超過限制時,也將過渡到另一個文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.