一个LOG4J的例子,不知道有帮忙没?
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.ResourceBundle;import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.RollingFileAppender;public class LogBase {
    private static String PROPERTIES_FILE = "log4j";    private static String LOG_PATH;    private static String DATE_LOG_FOLDER;    private static String LOG_LEVEL;    private static String PATTERN_LAYOUT;    private static long MAX_FILE_SIZE;    private LogBase() {
    }    public static Logger getLogInstance(String name) {
        Logger logger = Logger.getLogger(name);
        try {
            String pattern = getPatternLayout();
            RollingFileAppender appender = new RollingFileAppender(
                    new PatternLayout(pattern), createClassLogFile(name)
                            .getAbsolutePath());
            long maxfilesize = getMaxFileSize();
            appender.setMaximumFileSize(maxfilesize);
            logger.addAppender(appender);
            String level = getLogLevel();
            logger.setLevel((Level) Level.toLevel(level));
        } catch (Exception e) {
            e.printStackTrace();
        }        return logger;
    }    /*
     * 在LOG_PATH下?建以当天日期?名字的文件?
     */
    private static File createDateLogFolder() {
        LOG_PATH = getLogPath();
        if (LOG_PATH == null) {
            readLogConfigParams();
        }
        DATE_LOG_FOLDER = LOG_PATH + System.getProperty("file.separator")+"system";        File logFolder = new File(DATE_LOG_FOLDER);
        try {
            if (!logFolder.exists()) {
                logFolder.mkdirs();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }        return logFolder;
    }    private static File createClassLogFile(String classname) {
        if (DATE_LOG_FOLDER == null) {
            createDateLogFolder();
        }        String classnameString = DATE_LOG_FOLDER
                + System.getProperty("file.separator")+ getCurrentDate()+ classname + ".txt";
        File logFile = new File(classnameString);
        try {
            if (!logFile.exists()) {
                logFile.createNewFile();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return logFile;
    }    private static void readLogConfigParams() {
        ResourceBundle rb = ResourceBundle.getBundle(PROPERTIES_FILE);
        LOG_PATH = rb.getString("LOG_PATH");
        LOG_LEVEL = rb.getString("LOG_LEVEL");       
        PATTERN_LAYOUT = rb.getString("PATTERN_LAYOUT");
        MAX_FILE_SIZE = Long.parseLong(rb.getString("MAX_FILE_SIZE"));
    }    private static String getLogPath() {
        return LOG_PATH;
    }    private static String getCurrentDate() {
        SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
        return df.format(new Date());
    }    private static String getLogLevel() {
        if (LOG_LEVEL == null) {
            readLogConfigParams();
        }
        return LOG_LEVEL;
    }    private static String getPatternLayout() {
        if (PATTERN_LAYOUT == null) {
            readLogConfigParams();
        }
        return PATTERN_LAYOUT;
    }    private static long getMaxFileSize() {
        if (!(MAX_FILE_SIZE > 0)) {
            readLogConfigParams();
        }
        return MAX_FILE_SIZE;
    }
}