假設我正在處理VB.Net中的一個小批處理控制檯應用程序。我希望能夠構建應用程序是這樣的:將跟蹤輸出重定向到控制檯
Sub WorkerMethod()
'Do some work
Trace.WriteLine("Work progress")
'Do more work
Trace.WriteLine("Another progress update")
'...
End Sub
Sub Main()
'Do any setup, like confirm the user wants to continue or whatever
WorkerMethod()
End Sub
請注意,我使用Trace
而不是Console
我的輸出。這是因爲worker方法可能從其他地方調用,或者甚至生活在不同的程序集中,我希望能夠將不同的跟蹤偵聽器附加到它。那麼我怎樣才能將控制檯連接到跟蹤?
我已經可以通過定義一個簡單的類(如下圖所示),並添加實例來跟蹤的聽衆集合做,但我不知道是否有一個比較公認的或內置的方式來實現:
Public Class ConsoleTrace
Inherits Diagnostics.TraceListener
Public Overloads Overrides Sub Write(ByVal message As String)
Console.Write(message)
End Sub
Public Overloads Overrides Sub WriteLine(ByVal message As String)
Console.WriteLine(message)
End Sub
End Class
upvote將我指向System.Diagnostics.ConsoleTraceListner。我不知怎的錯過了。我沒有其他的app.config,但我可以用代碼很容易地設置它。 – 2008-10-13 17:24:22
這對那些具有config的.exe文件很有效,但我有類似的情況,但是有一個DLL。我不想修改調用exe的.config文件(它是nunit-console.exe)。我會繼續尋找,但無論如何你都會投票贊成,因爲我確實學到了一些東西。 – 2009-05-14 13:50:56