* The user must be able to easily retrieve the logs
* The format of all logged message must be uniform to allow the user to easily read the log
* Logged data must actually be recorded
* Sensitive data must only be logged securely
If a program directly writes to the standard outputs, there is absolutely no way to comply with those requirements. That's why defining and using a dedicated logger is highly recommended.