2008-12-14 27 views
6

Tôi có một DLL bên ngoài có mã nguồn là C#. Từ tài liệu cho DLL, tôi đã xác định rằng nó ghi các thông báo gỡ lỗi của nó vào bàn điều khiển bằng cách sử dụng Console.WriteLine.Sử dụng Console.WriteLine trong ứng dụng Windows Forms

Tôi muốn sử dụng tệp DLL này trong ứng dụng WinForms. Tuy nhiên, những gì tôi đã phát hiện ra là tôi không thể nhìn thấy các thông điệp gỡ lỗi phát ra bởi DLL vì một ứng dụng WinForms không có một giao diện điều khiển.

là có cách nào để nắm bắt các thông báo gỡ lỗi đó, có lẽ ngay cả đối với tệp nhật ký đơn giản? Tất nhiên, việc sử dụng ProcessInfo.RedirectStandartOutput sẽ không hoạt động vì tôi không sử dụng DLL làm quy trình.

Trả lời

14

Gọi Console.SetOut bằng TextWriter bạn kiểm soát (ví dụ: StringWriter).

4

Bạn sẽ được phục vụ tốt nhất bằng cách sử dụng không gian tên System.Diagnostics và Debug.WriteLine thay thế. Debug hỗ trợ 'người nghe' có thể được thêm vào lúc chạy hoặc thông qua các tệp app/web.config. Ví dụ: -

Debug.Listeners.Add(new ConsoleTraceListener()) 

Nếu bạn triển khai bất kỳ nhật ký gỡ lỗi tùy chỉnh nào làm trình theo dõi, bạn có thể chụp ứng dụng tin nhắn theo dõi của mình rất dễ dàng.

Các vấn đề liên quan