http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Category.html The javaDoc for org.apache.log4j.Category.shutdown() reads in part: "Calling this method will safely close and remove all appenders in all the categories including root contained in the default hierachy. Some appenders such as SocketAppender and AsyncAppender need to be closed before the application exists. Otherwise, pending logging events might be lost. The shutdown method is careful to close nested appenders before closing regular appenders. This is allows configurations where a regular appender is attached to a category and again to a nested appender." which should be: "Calling this method will safely close and remove all appenders in all the categories (including root) contained in the default hierachy. Some appenders such as SocketAppender and AsyncAppender need to be closed before the application exits. Otherwise, pending logging events might be lost. The shutdown method is careful to close nested appenders before closing regular appenders. This allows configurations where a regular appender is attached to a category and again to a nested appender."
Log4j 1.x has reached end-of-life. Please see https://blogs.apache.org/foundation/entry/apache_logging_services_project_announces.