Error messages should be clear what software (and what internal component of said software) they come from. Program, process, thread, and call stack would be idea.
Debug log messages too, for that matter.
Error messages and logs are part of software's UI and API.
Also, error messages and logs are some of the hardest parts of software to get right.
Lars and friends