我在職業生涯中第一次設計控制檯應用程序。該控制檯應用程序是一個引擎,每天晚上在特定時間執行任務。我打算使用Windows任務計劃程序來安排此應用程序。c#控制檯應用程序的記錄器應用程序
現在我需要記錄此任務的每一步。我不確定哪種記錄器最適合這種應用。該日誌消息可以存儲到數據庫,xml或平面文件。
您可以針對這種情況提供最佳記錄器應用程序的建議嗎?
我在職業生涯中第一次設計控制檯應用程序。該控制檯應用程序是一個引擎,每天晚上在特定時間執行任務。我打算使用Windows任務計劃程序來安排此應用程序。c#控制檯應用程序的記錄器應用程序
現在我需要記錄此任務的每一步。我不確定哪種記錄器最適合這種應用。該日誌消息可以存儲到數據庫,xml或平面文件。
您可以針對這種情況提供最佳記錄器應用程序的建議嗎?
嘗試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");
}
}
是否有任何工具可用於查看從NLog寫入文件的日誌消息?你如何查看這些日誌文件? – JPReddy 2010-08-13 10:54:33
取決於輸出。 Nlog可以將日誌寫入到tcp服務器,數據庫,文本文件等等。 – jgauffin 2010-08-13 11:02:57
基本上'tail -f' :)。但你可以嘗試[baretail](http://www.baremetalsoft.com/baretail/)它可以解析任何日誌文件或稱爲[鏈鋸]的Apache工具(http://logging.apache.org/chainsaw/index.html )爲log4j設計 – jethro 2010-08-13 11:06:37
我們通常使用log4net來記錄我目前正在維護的應用程序。工作得很好。然後我們有腳本將日誌壓縮成zip文件以節省磁盤空間(因爲某些應用程序在日誌記錄中非常冗長)。
log4net是否與.net 4.0兼容? – JPReddy 2010-08-13 10:11:40
@JayaprakashReddy:我自己沒有嘗試過,但如果出現任何重大問題,我會感到驚訝。這裏有一個關於這個主題的討論:http://stackoverflow.com/questions/1866735/log4net-and-net-4-0 – 2010-08-13 10:22:53
log4net有一個依賴於System.Web,所以你不能在一個。 NET 4客戶端配置文件項目。他們的JIRA系統已經提出了一個問題,但目前似乎沒有太多的項目移動 - 最近的發佈是在2年前 – 2010-08-13 10:29:32
http://stackoverflow.com/questions/126540/what-is-your-net-logging-framework-of-choice的可能重複。 – 2010-08-13 10:11:06