|
Что происходит если писать Console.WriteLine в Не консольных проектах ?
|
|||
---|---|---|---|
#18+
Довольно глупый вопрос. Скажите, если в классе разрабатывавшемся для консольного приложения, но перенесенном в сервис, почти везде идет вывод отладочной информации в виде Console.WriteLine - что будет происходить ? Я вот правильно понимаю, что если консоль в сервисе явно не создается ( вроде бы через AllocConsole или что то такое), то вызов Console.WriteLine вообще ничего не делает ? Просто не хочется, чтобы в запущщеном сервисе в консоль падали сообщения, зря отжирая память (ведь все равно эту консоль никто не увидит) И кстати вопрос- у консоли есть какое то ограничение по размеру ? А то сервис планируется быть включенным буквально 24*7 (банальный такой сервис) - не будет ли какого то переполнения в консоли ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2013, 20:35 |
|
Что происходит если писать Console.WriteLine в Не консольных проектах ?
|
|||
---|---|---|---|
#18+
MsSql_Study, ничего не случится, но разработчику класса нужно выдать в бубен - нужно использовать логгер - хоть встроенный trace, хоть log4net Поиск с заменой может спасти отца русской демократии ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2013, 21:01 |
|
Что происходит если писать Console.WriteLine в Не консольных проектах ?
|
|||
---|---|---|---|
#18+
Изопропил, Т.е. я правильно понял, что пока консоль явно не создана, то и обращения WriteLine просто игнорятся ? Ну и хорошо :) Зачем тогда лопатить код и вычищать WriteLine? Пусть будет - тем более эти строки пригодятся при отладке в Visual Studio хотя бы. Да, процесс прикручивания логгера сейчас как раз в процессе - ввиду перехода к сервису, и необходимости оповещать о причине своей внезапной кончины. А вот в необходимости навороченного log4net и других аналогов, не вижу смысла. Нет, ну правда, простой лог Код: c# 1.
в блоках catch + AppDomain.UnhandledException. Большего ничего и не нужно. Application.UnhandledException вроде бы в сервисе нету. Или есть ? С учетом того, что сервис периодически отписывается в БД о своем существовании. В случае прекращения оповещения будет выслана бригада спасателей в резиновых сапогах, чтобы значит и в стужу и в слякоть сервис поднять, и заодно почитать что он там мяукнул перед смертью - не критичные ошибки, типа временной потери связи, не приводят к смерти, все просто откладывается на попозже. Надо было все изначально продумывать с учетом логирования, пожалуй. Сейчас лишь костыль-авось в будущем будет время переписать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2013, 22:00 |
|
Что происходит если писать Console.WriteLine в Не консольных проектах ?
|
|||
---|---|---|---|
#18+
MsSql_StudyПусть будет - тем более эти строки пригодятся при отладке в Visual Studio хотя бы. 1)не удалить а заменить 2)простой от сложного ничем не отличается, но писать можно на консоль, в файл, сокет, syslog, базу данных лёгкими изменениями в файле конфигурации ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2013, 22:23 |
|
Что происходит если писать Console.WriteLine в Не консольных проектах ?
|
|||
---|---|---|---|
#18+
MsSql_Study, Нет ничего более постоянного, чем временное. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2013, 02:07 |
|
Что происходит если писать Console.WriteLine в Не консольных проектах ?
|
|||
---|---|---|---|
#18+
MsSql_StudyНет, ну правда, простой лог Я так понимаю, под простотой подразумевается количество символов кода на операцию логирования? Тогда вышеприведенное не намного проще Код: c# 1.
где LogX Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Добавить к проекту один референс и файл с конфигом логгера - невесть какая проблема. Учитывая, что обсуждается логирование для сервиса, рано или поздно может возникнуть необходимость в логировании из нескольких потоков, необходимость в архивации логов, когда лог в одном файле становится слишком большим, итд итп. Нормальный логгер с этим вполне справляется. Самописный велосипед - вряд ли. P.S. log4net лучше не использовать - он давно мертв. NLog в помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2013, 06:36 |
|
Что происходит если писать Console.WriteLine в Не консольных проектах ?
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныP.S. log4net лучше не использовать - он давно мертв Заблуждение. Last Published: 2013-11-18 | Version: 1.2.13 С недавних пор там хорошая активность. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2013, 07:18 |
|
Что происходит если писать Console.WriteLine в Не консольных проектах ?
|
|||
---|---|---|---|
#18+
Arm79, это не так существенно на фоне File.AppendAllText ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2013, 07:20 |
|
|
start [/forum/topic.php?fid=20&fpage=137&tid=1403626]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 131ms |
0 / 0 |