Last active
August 29, 2015 14:08
-
-
Save ZoeyYoung/2b752f0871d1afd9a496 to your computer and use it in GitHub Desktop.
动态创建logger,例如根据不同的ID创建不同的Log文件
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.File; | |
import java.io.IOException; | |
import org.apache.log4j.Level; | |
import org.apache.log4j.Logger; | |
import org.apache.log4j.PatternLayout; | |
import org.apache.log4j.RollingFileAppender; | |
public final class LogUtils { | |
private static String loggerDir = "D:/files/log"; | |
private static String encoding = "UTF-8"; | |
private static int bufferSize = 8 * 1024; | |
private LogUtils() {} | |
/** | |
* 取得Logger对象. | |
* | |
* @param name 文件名 | |
* @return 返回Logger对象 | |
* @throws IOException IOException | |
* @throws FileNotFoundException FileNotFoundException | |
*/ | |
public static Logger getLogger(final String name) { | |
Logger logger = Logger.getLogger(name); | |
logger.removeAllAppenders(); | |
logger.setAdditivity(false); | |
logger.setLevel(Level.DEBUG); | |
PatternLayout layout = new PatternLayout(); | |
layout.setConversionPattern("%d{yyyy-MM-dd HH:mm:ss} [ %p ] : %m%n"); | |
RollingFileAppender appender; | |
try { | |
appender = new RollingFileAppender(); | |
appender.setLayout(layout); | |
// Encoding must set before set file. | |
appender.setEncoding(encoding); | |
appender.setFile(loggerDir + File.separator + name + ".log", true, true, bufferSize); | |
appender.setMaxFileSize("1MB"); | |
appender.setMaxBackupIndex(1); | |
logger.addAppender(appender); | |
} catch (IOException e) { | |
e.printStackTrace(); | |
} | |
return logger; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment