On Unix systems, it's common for programs to read their input from stdin, and
write their output to stdout. Messages should be written to stderr, where they
won't corrupt a program's output, and where they can be seen by the user even
if the output is being redirected.
This is mostly a problem when XGBoost is being used from Python or from another
program.