wpdesk / wp-logs
Requires
- php: >=7.4|^8
- monolog/monolog: ^2.9.1
- psr/log: ^1
- wpdesk/wp-notice: ^3.0
Requires (Dev)
- 10up/wp_mock: ^1.0
- phpunit/phpunit: ^5|^6|^7|^8|^9
- squizlabs/php_codesniffer: ^3.0.2
- wpdesk/wp-code-sniffer: ^1.2.3
This package is auto-updated.
Last update: 2024-11-13 10:55:25 UTC
README
WordPress Library to log all that can be logged in a modern way.
wp-log is a simple library for WordPress plugins which integrates Monolog with PHP/WP error handling and WooCommerce log system.
By default library logs to WC_Logger and WP Desk log file located in /uploads/wpdesk-logs/wpdesk_debug.log.
Requirements
PHP 5.6 or later.
Composer
You can install the bindings via Composer. Run the following command:
composer require wpdesk/wp-logs
To use the bindings, use Composer's autoload:
require_once 'vendor/autoload.php';
Compatiblity between plugins
To ensure that always the latest and valid version of composer libraries are loaded in WP env you should use a solution that ensure support between plugins and at least decreases the change that something would break. At the moment we recommend using wpdesk/wp-autoloader.
Manual instalation
If you do not wish to use Composer and wpdesk/wp-autoloader, you probably should stop using any existing library as it breaks compatibility between plugins.
Getting Started
Simple usage to get Monolog style logger:
WPDesk\Logger\LoggerFacade::get_logger()->addDebug('some debug message');
// Is equivalent to:
WPDesk\Logger\LoggerFacade::get_logger()->debug('some debug message');
// Is equivalent to:
WPDesk\Logger\LoggerFacade::get_logger()->log(Logger::DEBUG, 'some debug message');
You can also use various Facade helpers:
// log WP_Errors
WPDesk\Logger\LoggerFacade::log_wp_error(new WP_Error(), debug_backtrace());
// log Exceptions
WPDesk\Logger\LoggerFacade::log_exception(new \RuntimeException());
// log message with backtrace
WPDesk\Logger\LoggerFacade::log_message_backtrace('some message', debug_backtrace(), Logger::DEBUG);
// log standard message
WPDesk\Logger\LoggerFacade::log_message('some message', ['some_user' => $user], 'my-app-source', Logger::DEBUG);
Logs can be used whether WC is active or not but if add_action is unavailable then WC logs capture would break.