use log4j2 for logging