Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Философский вопрос - как грамотно сделать лог.
|
|||
|---|---|---|---|
|
#18+
Добрый день. Задался тут с утра философским вопросом - а как правильно вести логи в системе? Предположим, у меня есть веб-приложение. Мне надо сохранять некоторые события (типа "Дата/время - Клиент ххх вошел в систему", "Клиент ххх нажал на ссылку http://ууу" ну и т.д.) Насколько я понимаю, есть три способа ведения логов : 1) Юзать SYSLOG 2) Кидать все в БД 3) Кидать в файл. Третий вариант скорее всего не подойдет, т.к. запись в файл совмещена с геморроем в случае, когда два процесса попытаются туда что-то записать (например, два клиента из разных сессий создают логгируемое событие в одно и то же время). Да и по скорости это решение скорее всего медленнее других. Выбираю между первым и вторым вариантом. Первый вроде бы профессиональней, да и админам удобней будет работать - залез, почитал системные логи, а заодно и в лог веб-приложения глянул. Но возникает вопрос с анализом данных. Т.е. нужно иметь возможность выборки лога по каждому клиенту, а ИМХО в сислоге такого не предусмотрено. Вообще, лично для меня идеально было бы хранить логи в СУБД. Если хранить логи в СУБД - какие могут быть грабли? И вообще, делает ли кто-нибудь так? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2006, 09:20 |
|
||
|
Философский вопрос - как грамотно сделать лог.
|
|||
|---|---|---|---|
|
#18+
имхо, истина где-то посередине. смотря чего ты хочешь получить. как показывает практика, тебе обязательно потребуется еще и статистика. здесь тебе поможет только СУБД. а вот критические ошибки гораздо удобнее смотреть в SYSLOG'е. сделай метод, одним из параметров которого будет степень важности события. и если событие важное, пиши еще и в SYSLOG. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2006, 11:10 |
|
||
|
Философский вопрос - как грамотно сделать лог.
|
|||
|---|---|---|---|
|
#18+
Тогда разумный вопрос - как писать в сислог? :) Если можно - с примером :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2006, 11:17 |
|
||
|
Философский вопрос - как грамотно сделать лог.
|
|||
|---|---|---|---|
|
#18+
юзай родной компонентик. на панельках он есть. точно не помню, как называется. но он простой в использовании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2006, 12:03 |
|
||
|
Философский вопрос - как грамотно сделать лог.
|
|||
|---|---|---|---|
|
#18+
Можно еще log4net использовать. Там многопоточность нормально реализована ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2006, 12:32 |
|
||
|
Философский вопрос - как грамотно сделать лог.
|
|||
|---|---|---|---|
|
#18+
При использовании БД в качестве лога самое важное сообщение о том, что с БД проблемы ты вряди прочитаешь. Писать в сислог удобнее, но на второй день события типа "Петя Х вошел в систему" и "Петя Х просмотрел информацию о компании У" забивают весь лог. Короче, йа пишу в текст :) Как вариант, можно складывать все сообщения в сессию, а по окончании писать в текстовый лог. Можно в качестве названия лога использовать логин юзера или тип события. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2006, 13:01 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=873&tid=1389330]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
| others: | 253ms |
| total: | 380ms |

| 0 / 0 |
