Следующая версия | Предыдущая версия |
wiki:tips:logging [2025/06/22 18:01] – создано vladpolskiy | wiki:tips:logging [2025/06/22 18:14] (текущий) – [Окончательная статистика] vladpolskiy |
---|
Я опишу две версии. Первая — это решение высокого уровня, которое будет регистрировать доступ к вики-страницам, а также к внутренним и внешним медиа-файлам. Вторая — для «новичков» и будет регистрировать только вики-страницы. | Я опишу две версии. Первая — это решение высокого уровня, которое будет регистрировать доступ к вики-страницам, а также к внутренним и внешним медиа-файлам. Вторая — для «новичков» и будет регистрировать только вики-страницы. |
| |
:!: [note by J.-F. Lalande] Используя информацию и код, предоставленные на этой странице, я создал плагин [[plugin:logstats|logstats]] который генерирует запись в access.log для каждого доступа к странице dokuwiki. Вы можете увидеть подробности и загрузить его на моей [[http://sds.ensi-bourges.fr/howto/doku.php?id=wiki:logstats|странице плагина logstat]]. | :!: [примечание J.-F. Lalande] Используя информацию и код, предоставленные на этой странице, я создал плагин [[plugin:logstats|logstats]] который генерирует запись в access.log для каждого доступа к странице dokuwiki. Вы можете увидеть подробности и загрузить его на моей [[http://sds.ensi-bourges.fr/howto/doku.php?id=wiki:logstats|странице плагина logstat]]. |
===== Формат файла журнала ===== | ===== Формат файла журнала ===== |
Оба решения будут использовать формат файла журнала NCSA combined или NCSA extended. Этот формат файла журнала очень популярен и часто используется на веб-серверах, таких как apache. Многие генераторы отчетов могут читать этот формат и создавать из него хорошие отчеты. Благодаря этой фантастической поддержке внешних программ Dokuwiki не нуждается в какой-либо встроенной функции отчетности. | Оба решения будут использовать формат файла журнала NCSA combined или NCSA extended. Этот формат файла журнала очень популярен и часто используется на веб-серверах, таких как apache. Многие генераторы отчетов могут читать этот формат и создавать из него хорошие отчеты. Благодаря этой фантастической поддержке внешних программ Dokuwiki не нуждается в какой-либо встроенной функции отчетности. |
| |
Можно использовать следующие генераторы отчетов (это лишь некоторые примеры, список далеко не полный): | Можно использовать следующие генераторы отчетов (это лишь некоторые примеры, список далеко не полный): |
* [[http://www.awstats.org|AWStats]] - A nice report generator from France. Notes on customising for DokuWiki in [[tips:logging#appendix_b_-_awstats_configuration|Appendix B ]] below | * [[http://www.awstats.org|AWStats]] - Хороший генератор отчетов из Франции. Заметки по настройке DokuWiki в [[wiki:tips:logging#Приложение B — Конфигурация AWStats |Приложении B]] ниже |
* [[http://www.mrunix.net/webalizer/|Webalizer]] - Another famous report generator | * [[http://www.mrunix.net/webalizer/|Webalizer]] - Еще один известный генератор отчетов |
* ... | * ... |
| |
</code> | </code> |
| |
5. Чтобы иметь возможность регистрировать медиафайлы, нам нужно изменить ///lib/exe/fetch.php.// Сначала нам нужно снова включить //inc/logfile.php.// Добавьте оператор include ниже всех остальных, которые уже есть в //lib/exe/fetch.php//. Функция logMediaAccess() создает запись в журнале и должна быть вставлена после проверки источника медиафайла. Хорошее место — рядомстрока 60строка с комментарием «//проверка существования файла», непосредственно перед проверкой существования (см. комментарии ниже). | 5. Чтобы иметь возможность регистрировать медиафайлы, нам нужно изменить ///lib/exe/fetch.php.// Сначала |
| нам нужно снова включить //inc/logfile.php.// Добавьте оператор include ниже всех остальных, |
| которые уже есть в //lib/exe/fetch.php//. Функция logMediaAccess() создает запись в журнале и должна |
| быть вставлена после проверки источника медиафайла. Хорошее место — рядом <del>строка 60</del> строка с комментарием |
| «проверка существования файла», непосредственно перед проверкой существования (см. комментарии ниже). |
<code php> | <code php> |
require_once(DOKU_INC.'inc/logfile.php'); | require_once(DOKU_INC.'inc/logfile.php'); |
Вот и все. Побродите немного по своей вики, а затем посмотрите на файл журнала. Он должен содержать строку для каждой вызванной страницы. | Вот и все. Побродите немного по своей вики, а затем посмотрите на файл журнала. Он должен содержать строку для каждой вызванной страницы. |
| |
===== Приложение А ===== | ===== Приложение A ===== |
| |
Исходный код //logfile.php// | Исходный код //logfile.php// |