2010-08-13 172 views
1

我在職業生涯中第一次設計控制檯應用程序。該控制檯應用程序是一個引擎,每天晚上在特定時間執行任務。我打算使用Windows任務計劃程序來安排此應用程序。c#控制檯應用程序的記錄器應用程序

現在我需要記錄此任務的每一步。我不確定哪種記錄器最適合這種應用。該日誌消息可以存儲到數據庫,xml或平面文件。

您可以針對這種情況提供最佳記錄器應用程序的建議嗎?

+0

http://stackoverflow.com/questions/126540/what-is-your-net-logging-framework-of-choice的可能重複。 – 2010-08-13 10:11:06

回答

5

嘗試NLog它基本上是Log4j到.NET的端口。您可以通過編程或通過.xml文件進行配置。第二個選項很方便,因爲每次您想更改日誌記錄選項時都不必重新編譯項目。在代碼中常見的使用看起來像。

class MyClass 
{ 
    private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); 

    public void MyMethod() 
    { 
     // available logging levels TRACE,INFO,DEBUG,WARN,ERROR, FATAL 
     Logger.Debug("Debug message"); 
    } 
} 
+0

是否有任何工具可用於查看從NLog寫入文件的日誌消息?你如何查看這些日誌文件? – JPReddy 2010-08-13 10:54:33

+0

取決於輸出。 Nlog可以將日誌寫入到tcp服務器,數據庫,文本文件等等。 – jgauffin 2010-08-13 11:02:57

+0

基本上'tail -f' :)。但你可以嘗試[baretail](http://www.baremetalsoft.com/baretail/)它可以解析任何日誌文件或稱爲[鏈鋸]的Apache工具(http://logging.apache.org/chainsaw/index.html )爲log4j設計 – jethro 2010-08-13 11:06:37

5

我們通常使用log4net來記錄我目前正在維護的應用程序。工作得很好。然後我們有腳本將日誌壓縮成zip文件以節省磁盤空間(因爲某些應用程序在日誌記錄中非常冗長)。

+0

log4net是否與.net 4.0兼容? – JPReddy 2010-08-13 10:11:40

+0

@JayaprakashReddy:我自己沒有嘗試過,但如果出現任何重大問題,我會感到驚訝。這裏有一個關於這個主題的討論:http://stackoverflow.com/questions/1866735/log4net-and-net-4-0 – 2010-08-13 10:22:53

+1

log4net有一個依賴於System.Web,所以你不能在一個。 NET 4客戶端配置文件項目。他們的JIRA系統已經提出了一個問題,但目前似乎沒有太多的項目移動 - 最近的發佈是在2年前 – 2010-08-13 10:29:32

2

在.NET上最常見的日誌框架是Log4NetNLog,雖然也有其他人。