2012-10-15 18 views
5

Utworzono aplikację konsolową, która przenosi dane z arkusza Excela i przenosi je do bazy danych. Wymagam logowania się do niego.Rejestrowanie z aplikacji konsoli

Jak mogę to zrobić? ponieważ nie mam absolutnie pojęcia, jak sobie z tym poradzić.

+5

Patrzysz na Log4Net? –

+0

To może Ci pomóc http://stackoverflow.com/questions/3475861/logger-application-for-c-sharp-console-application – Usman

+0

Wygląda na to, że jesteś tu nowy. Możesz "zaakceptować" odpowiedź, która najlepiej odpowiada na twoje pytanie, klikając na znacznik przy każdej odpowiedzi. W ten sposób ludzie są nagradzani za pomaganie innym. – Chimera

Odpowiedz

12

Jeśli chcesz po prostu napisać tekst do pliku jako dzienniku można zrobić coś jak następuje:

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(); 

źródłem tego kodu jest z tego article.
Oto dokumentacja StreamWriter Class.

w przeciwnym razie, jeśli chcesz coś jeszcze można zrobić jak inni sugerowali i sprawdzeniu Log4Net.

2

Istnieje wiele sposobów logowania. Możesz użyć własnego rejestrowania

inaczej spróbuj Log4net to proste zmiany w konfiguracji, które zostały wykonane.

Dobry artykuł http://www.codeproject.com/Articles/140911/log4net-Tutorial

Wystarczy dodatkowe informacje dla Ciebie ELMAH (inny sposób rejestrowania błędów) reg Using ELMAH in a console application

+0

Jak przejść, jeśli chcę korzystać z własnego logowania? – user1746174

+0

Zobacz http://stackoverflow.com/questions/1742078/log4net-configuration-for-console-app – Peru

+0

Chcę zaimplementować mój własny program rejestrujący? Więc jak sobie poradzę? – user1746174

1

Jeśli można użyć produktu trzeciej części, przejdź do log4net. Jest to doskonała platforma rejestrowania dla .NET.

4

I require to do logging into it....

Czy chcesz dodać logowanie do aplikacji lub chcesz, aby ludzie mieli log in?

Aby zalogować rzeczy do pliku Log4Net istnieje, aby ułatwić Ci. Jeśli nie chcesz polegać na trzeciej partii stuff następnie można po prostu zrobić coś takiego

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"); 

To pozwala na dodanie różnych wyjść, takich jak plik dziennika i drukowania opisowym do swojej ouput tak aby można było zalogować się plik i wydrukuj go również w konsoli, jeśli użytkownik zdecydował się użyć pełnego tekstu wyjściowego.

Linia

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

powinny być wykonane w funkcję, która pobiera wiadomości i być może poziom dziennika więc mieć jednolity wygląd wszystkich swoich pisemnych komunikatów dziennika.

Jeśli nie potrzebujesz tak dużej funkcjonalności, możesz po prostu bezpośrednio napisać do strumienia plików.