The documentation you need is
here. These features can be controlled completely using this package, you could even retrieve the messages from
Java.
Basically, the DBMS_OUTPUT package must be activated in a session before the messages it generates start to be logged. I assume that overhead is negligible if they are not activated, probably just an if. If there is no procedure or command in the job that would activate the DBMS_OUTPUT package, then the messages won't be generated.