|
4 / 4 / 3
Регистрация: 15.12.2015
Сообщений: 184
|
|||||||||||||||||||||||||||||||||||||||||
Как правильно организовать Log в приложении?15.06.2017, 00:30. Показов 15251. Ответов 21
Здравствуйте.
Я хочу организовать в своем проекте логирование. Для этого набросал класс-логер. ILogger.cs Кликните здесь для просмотра всего текста
Logger.cs Кликните здесь для просмотра всего текста
LogLevel.cs Кликните здесь для просмотра всего текста
Пример применения Program.cs Кликните здесь для просмотра всего текста
У меня возник вопрос как эти классом пользоваться для журналирования действий в куче классов (например работы с БД)? Нужно ли в конструкторы классов передавать экземпляр логера? Например так: DatabaseProvider.cs Кликните здесь для просмотра всего текста
SqlCeDbProvider.cs Кликните здесь для просмотра всего текста
ProjectTableAbstract.cs Кликните здесь для просмотра всего текста
ProjectTableSqlCe.cs Кликните здесь для просмотра всего текста
При таком подходе получается, что экземпляр логера протаскивается через несколько уровней. Существуют ли другие способы бы работы с логером?
0
|
|||||||||||||||||||||||||||||||||||||||||
| 15.06.2017, 00:30 | |
|
Ответы с готовыми решениями:
21
Как правильно организовать работу с переменными в многопоточном приложении Как лучше организовать права доступа в приложении? Как правильно организовать? |
|
4 / 4 / 3
Регистрация: 15.12.2015
Сообщений: 184
|
|||||||||||||||||
| 16.06.2017, 14:14 [ТС] | |||||||||||||||||
|
Как я уже писал, в библиотеку внесена вся логика включая и класс логера. Логирование работы с БД проходит в соответствующих классах в библиотеке. Кликните здесь для просмотра всего текста
Вопрос... Если я сделаю класс логогер статическим, то смогу вызывать из любого места
Только нужно будет создать метод для определения файла в который буду сохранять лог. А в случае если файл не определен до вызова Log(), то или выбрасывать исключение или задать некий файл по умолчанию.
0
|
|||||||||||||||||
|
|
|
| 22.06.2017, 14:08 | |
|
RuS_984, вам же предложили Singleton. Сообщение №5. И вызывайте где хотите, если сборка, содержащая класс логера загружена в память или подключена в свойствах проекта.
0
|
|
| 22.06.2017, 14:08 | |
|
Как правильно организовать исключение Как правильно организовать цикл for? Как правильно организовать многопоточность?
Как правильно организовать Unit Test? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|