Журнали
Смерека може протоколювати свою роботу в чотирьох журналах. Всі вони записуються в підкаталог logs програмного каталогу Смереки.
Журнал debuglog.txt призначено для відлагодження програми. Щоб ним скористатись, треба встановити в модулі customsettings.php змінну $DebugMode = 1; і потім в потрібному місці програми вставити виклик DebugLog('Some text').
Після закінчення відлагодження слід видалити або закоментувати всі виклики DebugLog і встановити $DebugMode = 0. Цей журнал призначено в основному для програмістів Смереки.
Журнал errorlog.txt призначено для відстежування внутрішніх помилок Смереки. Цей журнал не слід плутати з журналом помилок веб-сервера. Смерека записує в цей журнал повідомлення про свої власні критичні помилки, такі як відсутність потрібного метаоб’єкта чи виявлення циклічних посилань в дереві.
Отже, якщо зі Смерекою відбувається щось незрозуміле, перше, що має перевірити адміністратор – це журнал помилок.
Журнал sqllog.txt призначено для трасування запитів до бази даних. Режим трасування задається змінною $SQLLogLevel в модулі customsettings.php. Якщо ця змінна дорівнює нулю, трасування не виконується (рекомендований режим).
Якщо ця змінна = 1, в журнал записуються SQL оператори INSERT, UPDATE, DELETE.
Якщо ця змінна = 2, в журнал записуються також SQL оператори SELECT.
Цей журнал призначено в основному для програмістів під час відлагодження програми, в режимі постійної експлуатації це трасування слід відключити для прискорення роботи.
Журнал timerlog.txt призначено для профілювання витрат часу в Смереці. Режим профілювання задається змінною $TimerLogLevel в модулі customsettings.php. Якщо ця змінна дорівнює нулю, профілювання не виконується (рекомендований режим).
Якщо ця змінна = 1, при кожному вхідному запиті в журнал записується один рядок, який містить точку виходу та час (в секундах), витрачений Смерекою на досягнення цієї точки. Наприклад :
Main 1054 0.134212 SmerecashPage www.m-zharkikh.name/uk/News.html 0.022517 SmerecashPage www.m-zharkikh.name/uk/ColloidSci.html 0.043600 Main 1057 0.133644 Main 1109 0.244285 Main::CommandRedirect 1109 1.294339 Main 1110 0.730506 Main 1110 0.150956 DisplayErrPage 404 / www.m-zharkikh.name/sitemap.xml 0.073219
Цей режим призначено для загальної оцінки швидкодії програми.
Якщо ця змінна = 2, трасуються основні етапи обробки запиту, які закінчуються записом точки виходу. При такому режимі можна простежити, де Смерека витрачає найбільше часу, і потім планувати оптимізацію коду.
Якщо ця змінна = 3, виконується найбільш детальне трасування. Цей режим також можна використовувати для оптимізації коду або для пошуку помилок. Якщо помилка настільки серйозна, що не дає Смереці вивести стандартну сторінку помилки, останній запис в журналі дає орієнтир, в якому фрагменті коду стався збій. Найбільшу прикрість для Смереки становлять синтаксичні помилки в модулях, які підключаються через апарат метаоб’єктів.