Error log on my index file get logged in the error_log.txt file but the same error log is not working in the functions.php file. I am using the latest WordPress and PHP 7.0. I am not using any plugin as well.

error_log("Hello there is an error");

I had a similar problem: calling error_log() from wp-config.php works, but calling it from functions.php does not work for me.

I couldn't solve this issue but I've found a workaround that allowed me to do some sort of debugging at least. I gave up on error_log() and just wrote an own function that logs into a given file:

function mylog($txt) {
    file_put_contents('/home/myuser/logs/mylog.txt', $txt.PHP_EOL , FILE_APPEND | LOCK_EX);

  • Great alternative, I'm doing API calls that are skipping wp-config and this saved me
    – SHiRKiT
    Mar 6 '20 at 17:06

In order for error_log() to do anything, you do need to have the WP_DEBUG and WP_DEBUG_LOG constants set to true in your wp-config.php. (See: Debugging in WordPress in the Codex for more information.)

According to this answer on Stackoverflow, you should also set WP_DEBUG_DISPLAY for error_log() to function. Note that you can set it to true OR false, but it evidently needs to be defined.


If you have this set in your wp_config;

define( 'WP_DEBUG_LOG', true );

it will save the logs to /wp-content/debug.log file instead of the default Apache error.log

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.