C#增加控制台日志大小

时间:2012-10-23 22:54:56

标签: c#

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

3 个答案:

答案 0 :(得分:10)

Console.SetBufferSize()为您购买更大的缓冲区。然而,有一些并发症。最大大小有一个上限,SetBufferSize()方法中的参数验证代码有一个错误。它报告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..
    }

答案 1 :(得分:1)

答案 2 :(得分:0)

Console.SetOut也可以帮助您将控制台输出重定向到文件。点击链接获取示例。 http://www.java2s.com/Code/CSharp/Development-Class/DemonstratesredirectingtheConsoleoutputtoafile.htm