2012-10-23 93 views
2

我有一個基本的C#控制檯應用程序,它從一個網站回顧日誌,但像100行後,舊的日誌被刪除,用戶不能向上滾動並看到它們,有沒有辦法增加它將節省的大小?C#增加控制檯日誌大小

+0

沒有你的應用程序需要在屏幕上顯示日誌?而不是寫入日誌文件。 –

+0

嗨,我試圖生成一個日誌file.txt,但它似乎對我來說太難了,因爲我是一個新手..如果你有一個好的嘖嘖告訴我該怎麼做,這將是很好的:P – user1769042

+2

這很可能比你需要更先進的,但log4net似乎是一個很好的記錄器:http://logging.apache.org/log4net/ –

回答

9

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.. 
    }