2008-11-13 3 views
2

В настоящее время я реорганизую приложение, которое выводит его статус в окно консоли. На данный момент я делаю что-то вроде этого:Состояние регистрации приложения в окне консоли

Console.Write("Print some status.....") 
//some code 
Console.WriteLine("Done!") 

Теперь в то время как это работает отлично, вся логика скрыта между console.writelines и я считаю делает его очень трудно читать.

Я не знаю, есть ли лучший способ сделать это, но я просто хотел спросить и посмотреть, придумал ли кто-нибудь лучший/более чистый способ печати статуса приложения на консоль.

Любые идеи?

ответ

3

Посмотрите на Log4Net, он обрабатывает все, но может быть излишним для вашего приложения, не знаю. Однако, зная, что Log4Net, вероятно, поможет вам в будущем, так что, возможно, это хороший шанс, тоже изучите его.

0

Почему бы не использовать объект Logger, который записывает ошибки в текстовый файл? Вы можете получить некоторые «приоритетные» сообщения об ошибках, такие как: Logger.print (новый приоритет («важный»), «blabla»); Таким образом, вы можете найти в своем файле точное время и все необходимое сообщение.

Если вы абсолютно хотите консоль, вы можете использовать приоритет на консоли .. так что печатает только бы то, что вы говорите регистратор для печати, такие как ошибки сети, и т.д ..

1

I второй использование Log4Net. Это очень легко использовать его без привлечения сложных деталей - просто сделайте следующее: В приложениях метода Main(), вызов

log4net.Config.BasicConfigurator.Configure(new log4net.Appender.ConsoleAppender()); 

Это устанавливает базовую консоль регистратор, который регистрирует все сообщения на стандартный вывод.

В классе, который нуждается в протоколирование, создать новый Илог так:

private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof (MyClass)); 

Затем в методе, который нуждается в протоколирование, вызовите

log.Debug("Print Some status ..."); 

После того, как вы все это настроить и за работой. просмотрите документацию Log4Net о том, как настроить более полезную регистрацию. Вы можете выполнять множество различных типов ведения журнала, не изменяя вообще никаких вызовов ведения журнала в своем коде.

Смежные вопросы