Регистрация статуса приложения в окне консоли - PullRequest
2 голосов
/ 13 ноября 2008

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

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

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

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

Есть идеи?

Ответы [ 3 ]

3 голосов
/ 13 ноября 2008

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

1 голос
/ 14 ноября 2008

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

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

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

В классе, который требует регистрации, создайте новый ILog, например, так:

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

Затем в методе, который требует регистрации, вызовите

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

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

0 голосов
/ 13 ноября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...