将结果输出到日志文件而不是控制台

时间:2019-06-01 00:55:24

标签: c# .net

基本上我有此代码,当前它可以打印到控制台,有人可以修改代码,以便它在与数据相同的目录中创建日志文件

using System;
using System.Net;
using System.Web;

class CSharpExample
{
  private static string API_KEY = "SAMPLE-KEY";

  public static void Main(string[] args)
  {
    try
    {
    Console.WriteLine(makeAPICall());
    }
    catch (WebException e)
    {
    Console.WriteLine(e.Message);
    }
  }

  static string makeAPICall()
  {
    var URL = new UriBuilder("https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest");

    var queryString = HttpUtility.ParseQueryString(string.Empty);
    queryString["start"] = "1";
    queryString["limit"] = "5000";
    queryString["convert"] = "USD";

    URL.Query = queryString.ToString();

    var client = new WebClient();
    client.Headers.Add("X-CMC_PRO_API_KEY", API_KEY);
    client.Headers.Add("Accepts", "application/json");
    return client.DownloadString(URL.ToString());

  }
}

1 个答案:

答案 0 :(得分:0)

您可以使用File.AppendAllText而不是Console.WriteLine将文本追加到文件中(如果文件不存在,它将创建文件),而不是将其写入控制台窗口。将文件路径(或仅文件名)作为第一个参数传递,并将要添加的文本作为第二个参数传递。如果仅传递文件名,它将使用可执行文件的路径作为路径。

请注意,我在字符串的末尾添加了+ Environment.NewLine,以便每个调用都将新行写入文件,而不是直接附加到文件的最后一行。

例如:

File.AppendAllText("Program_Log.txt", makeAPICall() + Environment.NewLine);

运行此行代码之后,现在我在调试目录中创建了一个名为"Program_Log.txt"的文件(因为我是从Visual Studio以调试模式运行的),其结果为makeAPICall写入的方法。