Log4j should provide feature to compress/archive log file after rolling it over.
That feature is implemented in the org.apache.log4j.rolling.RollingFileAppender in the extras companion, http://logging.apache.org/log4j/companions/extras/index.html. Could be better documented however.