C# 如何增加控制台日志大小

3

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


你的应用程序需要在屏幕上显示日志吗?写入日志文件怎么样? - Bhanu Kaushik
嗨,我正在尝试生成一个log file.txt文件,但对于像我这样的新手来说似乎太难了。如果你有一个好的教程可以向我展示如何做到这一点,那就太好了:P - user1769042
2
它可能比你需要的更高级,但log4net似乎是一个很好的记录器:http://logging.apache.org/log4net/ - Tim S.
3个回答

11

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

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接