In some cases you might want to write information to the WordPress debug log, even if it’s not technically an error. PHP has a function called error_log, that will print information to the error log for you. By default it does not print and format properly. For this reason, I recommend adding an extra functions to your development project to handle formatting. It is a wrapper for error_log, that uses print_r() to format arrays and objects properly before logging them.
As a developer I add it to theme’s functions.php or plugin main file.
Here is what the function looks like:
if ( ! function_exists( 'write_log' ) ) { function write_log( $log ) { if ( true === WP_DEBUG ) { if ( is_array( $log ) || is_object( $log ) ) { error_log( print_r( $log, true ) ); } else { error_log( $log ); } } } } /** * * @example write_log_extend("Log Err Test Message ", __FILE__, __LINE__); * @example write_log_extend("Log Err Test Message "); * */ if ( ! function_exists( 'write_log_extend' ) ) { function write_log_extend( $log, $lfilename = "", $lline = 0 ) { if ( true === WP_DEBUG ) { $extra_line = ""; if ( "" !== $lfilename ) { $extra_line = " FILE: " . $lfilename . " "; } if ( "" !== $lline ) { $extra_line .= " on line " . $lline; } if ( is_array( $log ) || is_object( $log ) ) { error_log( print_r( $log, true ) . $extra_line ); } else { error_log( $log . $extra_line ); } } } }