This is the Original™ “Log Deprecated” plugin for WordPress — a straightforward plugin that is of particular interest to fellow plugin authors. (Theme authors too!)
As WordPress changes over time, old functions and files are sometimes replaced with new ones. There is generally a transitional period during which the old functions (and files) are “deprecated”, which is basically an official statement to the effect of:
This function may go away in a future version of WordPress. It works for now, but you should really switch to using such-and-such new function instead, or your plugin/theme will stop working after some future update.
There is a functionality built-in to WordPress that allows you to flag deprecated functions, but it’s not terribly informative, and thus not very useful for plugin authors.
The plugin keeps track of any deprecated functions, files, or arguments called from code within WordPress plugins and themes. You can see the results in one of two ways: it either puts an entry in your PHP log, or logs it to the database and displays it on the plugin’s Admin screen. The entry is far more useful than the default WordPress log notice — this one tells you the name of the function, the exact file that called it, the line the call was on, and what new function, if any, you should use instead. It looks something like this:
WordPress: The ***deprecated function*** "some_old_function" was called from wp-content/plugins/myplugin/myplugin.php on line 170. Use "some_new_function" instead.
By default, it logs deprecated calls to the PHP error log. You can change the settings in Admin.
(Andrew Nacin later wrote his own version of this plugin; he talks about the changes on his blog. Although he has some interesting changes, I believe the display of my version is more clear. His certainly is — by his own admission — an experiment in pushing the boundaries of hacking WordPress Core!)
Current release v1.4
This plugin is available from GitHub: https://github.com/strider72/log-deprecated-calls/releases