java按流水号生成Log

来源:互联网 发布:易语言qq盗号源码 编辑:程序博客网 时间:2024/04/28 06:16
import org.apache.log4j.DailyRollingFileAppender;import org.apache.log4j.FileAppender;import org.apache.log4j.Level;import org.apache.log4j.Logger;import org.apache.log4j.PatternLayout;/** * @projectName wififree * @author tangwzh * @function 按照用户ID来生成log,可以根据每个用户ID来动态生成logger。 * @createTime 2013-12-23 下午05:38:42 */public class LoggerUtil {public static Logger getLoggerByName(String name) {// 生成新的Logger,如果已经有了一个Logger实例返回现有的Logger logger = Logger.getLogger(name);// 清空Appender。特別是不想使用現存实例時一定要初期化logger.removeAllAppenders();// 设定Logger級別。Level level = Level.DEBUG;String levels = Constants.LOG4J_LEVEL;if ("info".equals(levels)) {level = Level.INFO;} else if ("error".equals(levels)) {level = Level.ERROR;}logger.setLevel(level);// 设定是否继承父Logger。默认为true。继承root輸出。设定false后將不输出root。if ("true".equals(Constants.LOG4J_IS_ADDITIVITY)) {logger.setAdditivity(true);} else {logger.setAdditivity(false);}// 生成新的AppenderFileAppender appender = new DailyRollingFileAppender();PatternLayout layout = new PatternLayout();// log的输出形式String conversionPattern = Constants.LOG4J_CONVERSION_PATTERN;layout.setConversionPattern(conversionPattern);appender.setLayout(layout);// log输出路径appender.setFile(Constants.LOG4J_FILE_PATH + name + ".log");// log的编码appender.setEncoding("UTF-8");// true:在已存在log文件后面追加 。false:新log覆盖以前的logif ("true".equals(Constants.LOG4J_IS_APPEND)) {appender.setAppend(true);} else {appender.setAppend(false);}// 适用当前配置appender.activateOptions();// 将新的Appender加到Logger中logger.addAppender(appender);return logger;}}


config.properties文件

# set Log4j Level: debug, info, errorlog4jLevel=debug# set log output modelog4jConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n# set file pathlog4jFilePath=D\:/log/wififree/serialnum/#log4jFilePath=/data/web/log/wififree/term/serialnum/# true: output to root. false: inverse;log4jIsAdditivity=false# set encodinglog4jEncoding=UTF-8# true: append to the old log。false: create new log
log4jIsAppend=true


Constants.java文件

/**********log4j相关的配置************/    public static String  LOG4J_LEVEL = resourcesCfg.getProperty("log4jLevel");    public static String  LOG4J_CONVERSION_PATTERN = resourcesCfg.getProperty("log4jConversionPattern");    public static String  LOG4J_FILE_PATH = resourcesCfg.getProperty("log4jFilePath");    public static String  LOG4J_IS_ADDITIVITY = resourcesCfg.getProperty("log4jIsAdditivity");    public static String  LOG4J_ENCODING = resourcesCfg.getProperty("log4jEncoding");    public static String  LOG4J_IS_APPEND = resourcesCfg.getProperty("log4jIsAppend");



0 0
原创粉丝点击