Issue/884 proper logging

Implement logging via log4j instead of System.out.* calls
`log.isDebugEnabled()` is just to avoid expensive computation, e.g. (String) options, then we realize that the `DEBUG` level is not available, and throw away the built String ... I guess that i had the check before changing the whole `for` loop to just `log.debug`