In most cases, drupal_set_message() is just an other channel for reporting information along with logging, and should be handled as such instead of requiring duplicate calls with inconsistent parameters.
Severity levels should be harmonized:
- 'status' level match a WATCHDOG_DEBUG event
- 'warning' -> WATCHDOG_WARNING
- 'error' -> WATCHDOG_ERROR
- already discussed in #1251960: harmonize severity/type in watchdog and drupal_set_message
But more importantly, this would avoid situations where modules have to use two separate calls, one to target the live (message) channel and one for the archive (log). When using PSR/3 logging, a single call could be routed to two channels, one going to live and the other to archive, based on configuration.
This would also enable integrating the screen/log reporting level.