How to Implement Custom Error Logging in WordPress

How to Implement Custom Error Logging in WordPress

Logging is a crucial aspect of WordPress development, especially when debugging and tracking issues. In this guide, we’ll show you how to implement a custom write_log() function in WordPress using error_log(), which allows you to log different types of messages (information, warnings, errors, and more).

Creating the Custom write_log() Function

The custom write_log() function leverages the built-in error_log() function to log various messages during development. This helps you track and resolve issues efficiently.

function write_log($message) {
    if (true === WP_DEBUG) {
        if (is_array($message) || is_object($message)) {
            error_log(print_r($message, true));
        } else {
            error_log($message);
        }
    }
}

How It Works

Here’s a breakdown of the function:

  • WP_DEBUG Check: Ensures the log messages are only written when WordPress debugging is enabled (set to true) in wp-config.php.
  • Array/Object Logging: If the message is an array or object, it converts it into a readable string format using print_r().
  • Scalar Logging: If it’s a simple data type (e.g., string, integer, etc.), it logs the message directly.

Usage Example

You can use the write_log() function anywhere in your WordPress code to log messages for debugging:

function my_custom_function() {
    $data = array('foo' => 'bar', 'hello' => 'world');
    write_log('My custom message.');
    write_log($data);
}

Viewing the Log Messages

Make sure to enable debugging by adding the following lines in your wp-config.php file:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);

Once enabled, WordPress will log the messages into an error log file, which can typically be found in your server’s error log directory. If you want to specify a custom log file, you can modify the error_log directive in php.ini.

Best Practices for Debugging in WordPress

When using logging in WordPress, follow these best practices:

  • Always disable debugging on production sites by setting WP_DEBUG to false.
  • Use logging only for non-sensitive data to avoid exposing any personal information.
  • Regularly clear your log files to avoid storing unnecessary data.

Related Resources

For further reading, here are some useful external links:

By using this custom logging technique, you’ll be able to easily monitor your WordPress site and troubleshoot issues effectively during development.

Categories

Related Blogs

How to add custom style and script in wordpress

`wp_enqueue_scripts` is a crucial action hook in WordPress that allows you to enqueue or register scripts and stylesheets properly. It is commonly used by theme and plugin developers to load necessary CSS and JavaScript files onto the front-end of a WordPress website.

Upload Any File in My Account Registration Form

To allow users to upload a file in the My Account registration form in WooCommerce, you’ll need to customize the registration form and add a file upload field. We’ll use a custom function and a hook to achieve this. Here’s a step-by-step guide:

Request A Quote