Есть ли рекомендуемый способ регистрировать (неудачные) действия cron из вашего плагина? Например, у меня есть плагин, который каждый час синхронизируется с внешним сервисом. Я хочу регистрировать, сколько было изменено, а также когда синхронизация не удалась. Что бы вы посоветовали здесь? Новая таблица базы данных? Плагин Log Deprecated Notices делает это с настраиваемым типом записи, но это может быть слишком много накладных расходов? Я считаю, что WordPress не поставляется со стандартным пакетом ведения журнала ?
Share
Существует плагин Advanced Cron Manager PRO, в котором есть регистратор.
Я думаю, вы можете добавить в этот список механизмы ведения журнала для конкретной ОС?
syslog
, бортовой журнал Windows,…Я думаю, что нет простого способа написать на
syslog
PHP, но я могу быть дезинформирован.Функция — это все
syslog
, что вам нужно!Отлично работает в продакшене, особенно с виджетом ошибок PHP на панели администратора. Для справки, я получаю только пару ошибок в месяц, поэтому пробег может варьироваться.
Используйте файл для записи событий. Здесь есть несколько недостатков;
Используйте таблицу базы данных. Создайте свою собственную таблицу базы данных и записывайте туда события. Ни один из перечисленных выше недостатков не применим. Это не добавляет большой сложности. Автоматизируйте создание и удаление таблицы с помощью хука плагина, и я думаю, у вас будет достаточно надежная система журналов.
Отправить электронное письмо. В зависимости от актуальности журналов вы всегда можете выбрать этот метод. Я полагаю, вы, вероятно, захотите отправить электронное письмо в случае сбоя в любом случае.
Используйте регистратор ОС. Когда вы используете функцию системного журнала в PHP, вы можете записывать события в системный журнал (системный журнал в Unix, журнал событий в Windows NT). Настройка определяемого пользователем системного журнала усложняет развертывание.
Ну наконец то; вам следует подумать, хотите ли вы регистрировать обычный случай и исключения или только исключения. Джефф Этвуд написал об этом хорошую статью.
Надеюсь это поможет!
Используйте функцию ведения журнала, подобную этой, чтобы она записывала ваш журнал в debug.log, настроив ваш wp-config.php следующим образом, который я нашел здесь :
Это должно работать, по крайней мере, для целей отладки/разработки (я не уверен, насколько это было бы здорово для ведения журнала производства, но это работает для разработки).
Я согласен, что размещение этих данных
wp_posts
потенциально может привести к быстрому росту таблицы до неуправляемого размера. Это нормально, чтобы создать таблицу. Я бы сделал все возможное и дал бы кому-нибудь возможность очистить таблицу журналов, если они перестанут использовать свой плагин.Я не боюсь плагинов, которые создают таблицы, но, возможно, это потому, что я видел базы данных WordPress с 8 000 000
wp_term_relationships
записей и 300 000 сообщений, и я знаю, насколько неприятным может быть этот опыт.dbDelta()
иregister_activation_hook()
будут твоими друзьями, здесь. См. Создание таблиц с помощью плагинов.