C#增加控制台日志大小

C#增加控制台日志大小,c#,C#,我有一个基本的C#控制台应用程序,它从网站上检索日志,但在大约100行之后,旧日志被删除,用户无法再向上滚动查看它们,有没有办法增加它将保存的大小?您可以使用Console.SetBufferSize() Console.SetOut还可以帮助您将控制台输出重定向到文件。请按照链接查看示例。 Console.SetBufferSize()为您提供了更大的缓冲区。然而,也有一些复杂情况。最大大小有一个上限,SetBufferSize()方法的参数验证代码中有一个bug。它报告Int16.MaxVa

我有一个基本的C#控制台应用程序,它从网站上检索日志,但在大约100行之后,旧日志被删除,用户无法再向上滚动查看它们,有没有办法增加它将保存的大小?

您可以使用Console.SetBufferSize()

Console.SetOut还可以帮助您将控制台输出重定向到文件。请按照链接查看示例。

Console.SetBufferSize()为您提供了更大的缓冲区。然而,也有一些复杂情况。最大大小有一个上限,SetBufferSize()方法的参数验证代码中有一个bug。它报告Int16.MaxValue是您可以请求的最大行数。这是一个由一个错误关闭。在Windows 7上,您可以使用:

static void Main(string[] args) {
    Console.SetBufferSize(Console.BufferWidth, 32766);
    // etc..
}
在较旧的操作系统(如XP)上,有一个更严格的限制,缓冲区大小过去被限制为65536字节。我再也没有他们在身边了。这些设备上可能有效的代码是:

    static void Main(string[] args) {
        var lines = 65536 / 2 / Console.BufferWidth;
        Console.SetBufferSize(Console.BufferWidth, lines);
        // etc..
    }

您的应用程序是否需要在屏幕上显示日志?不如改为写一个日志文件吧。嗨,我想生成一个log file.txt,但对我来说太难了,因为我是个新手。。如果你有一个很好的图坦卡门来告诉我怎么做,那将很好:PIt可能比你需要的更先进,但log4net似乎是一个很好的记录器: