A messaging system (for error messages)
provide a messaging system in the online environment which is versatile enough yet can be used easily in an offline setting (share object libraries between offline and online)
allow a “message profile” such as type, source, severity level
allow different destinations of messages with different profiles, and allow multiple destinations
allow different system responses based on the profile
allow dynamic “re-routing” of alarm messages (“call me at home”)
avoid special calls to your code such as msg_print_debug(__LINE__ ,__FILE__ , "Division by 0");
Force output to go through the system to prevent it from going unnoticed into log files
Allow legacy code using printf to use the system without modification.