doesn't log4j handle this for you?