2012-10-15 60 views
5

我已經創建了一個控制檯應用程序,該應用程序從excel工作表傳輸數據並將其傳輸到數據庫。我需要做記錄。從控制檯應用程序中記錄

我該怎麼辦?因爲我完全不知道如何去做。

+5

你看過Log4Net嗎? –

+0

這可能對你有幫助http://stackoverflow.com/questions/3475861/logger-application-for-c-sharp-console-application – Usman

+0

似乎你是新來的。通過點擊每個答案旁邊的複選標記,您「接受」最能回答您問題的答案。這就是人們如何獲得獎勵以幫助他人。 – Chimera

回答

12

如果你只是想編寫的文本文件,作爲你的日誌,你可以做類似如下:

string strLogText = "Some details you want to log."; 

// Create a writer and open the file: 
StreamWriter log; 

if (!File.Exists("logfile.txt")) 
{ 
    log = new StreamWriter("logfile.txt"); 
} 
else 
{ 
    log = File.AppendText("logfile.txt"); 
} 

// Write to the file: 
log.WriteLine(DateTime.Now); 
log.WriteLine(strLogText); 
log.WriteLine(); 

// Close the stream: 
log.Close(); 

源代碼都是從這個article.
這裏是StreamWriter Class.

的一些文檔

否則,如果你想要更多的東西,你可以做其他建議,並檢查了Log4Net.

2

有很多方法可以登錄。您可以使用自己的日誌記錄

其他嘗試Log4net它是簡單的配置更改完成。

好文章http://www.codeproject.com/Articles/140911/log4net-Tutorial

只爲你一個額外的信息ELMAH章(錯誤日誌的另一種方式)Using ELMAH in a console application

+0

如何使用我自己的日誌記錄? – user1746174

+0

看到這個http://stackoverflow.com/questions/1742078/log4net-configuration-for-console-app – Peru

+0

我想實現我自己的記錄器?那麼我怎麼去? – user1746174

1

如果你可以使用一個第三方的產品,去log4net。這是一個偉大的.NET日誌框架。

4

I require to do logging into it....

你的意思是你想在應用程序中添加日誌記錄,或者你想讓人們登錄到log in

要記錄東西到一個文件Log4Net存在讓你容易。如果你不想依靠第三方的東西,那麼你可能只是做類似

Trace.Listeners.Clear(); 

if (options.Verbose) 
{ 
    var ctl = new ConsoleTraceListener(false) { TraceOutputOptions = TraceOptions.DateTime }; 
    Trace.Listeners.Add(ctl); 
} 

if (options.Log) 
{ 
    var logFileFs = new FileStream("my.log", FileMode.Append); 
    var twtl = new TextWriterTraceListener(logFileFs) 
    { TraceOutputOptions = TraceOptions.ThreadId | TraceOptions.DateTime }; 
    Trace.Listeners.Add(twtl); 
} 

Trace.AutoFlush = true; 

Trace.WriteLine(DateTime.Now.ToString(CultureInfo.InvariantCulture) + " My App Started"); 

這使您可以添加不同的輸出,如日誌文件和詳細打印到輸出中,讓你可以登錄到一個文件,如果用戶選擇使用詳細輸出,也可以在控制檯中打印。

Trace.WriteLine(DateTime.Now.ToString(CultureInfo.InvariantCulture) + " My App Started"); 

應該做成讓您擁有一個統一的外觀到所有的寫日誌信息是需要你的消息,也許是一個日誌級別的功能。

如果你不需要太多的功能,你可以直接寫入文件流。