Some of things you suggest are not good practice to ensure that the EJBs are portabel and compliant with any EJB container.
An enterprise Bean must not use read/write static fields. Using read-only static fields is allowed. Therefore, it is recommended that all static fields in the enterprise bean class be declared as final.
An enterprise Bean must not use thread synchronization primitives to synchronize execution of multiple instances.
The easiest way to go would be to use log4j (even if you are not currently using it).