![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Lеstat |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 28.12.2005 Где: Москва Репутация: нет Всего: нет |
хочу вот сделать переменную класса log, которая была бы видна в любом файле проекта
вобщем сделал класс log
потом приходится в каждом другом классе где хочу вести лог создавать переменную ей уже логировать... вобщем это глючит и стирает файл лога Мне бы хотелось сделать в каком-нибудь одном месте переменную класса log
и чтобы потом я мог в любом файле/классе проекта писать просто
можно ли такое сделать? и если можно, то как? |
||||||
|
|||||||
| mr.DUDA |
|
||||||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
По сути вопроса: 1) Чтобы все классы работали с единственным экземпляром log-а, можно использовать паттерн singleton: сделать конструктор приватным, и вынести наружу статическое свойство Instance (в переводе - единственный экземпляр):
Тогда работать с логом можно вот так:
Либо можно все методы класса log сделать статическими, это кому как больше нравится. 2) Для протоколирования в .NET специально предусмотрены так называемые trace listener-ы - это класс, выводящий при отладке сообщения в окно output студии, а также в файл, event log, базу данных и т.п. - настраиваемый через .config файл приложения. Для вывода сообщения в trace, используется стандартный класс Trace пространства имён System.Diagnostics. Преимущество такого подхода - в настраиваемости (в конфиге можно также настроить уровень протоколирования - TraceLevel.Error, Warning, Info, Verbose и Off). Выводом в файл и т.п. занимается класс, унаследованный от TraceListener. Можно написать свой собственный или использовать, к примеру, TextWriterTraceListener. -------------------- ![]() |
||||||
|
|||||||
| Lеstat |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 28.12.2005 Где: Москва Репутация: нет Всего: нет |
Спасибо! Разобрался все работает!
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |