免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1532 | 回复: 0
打印 上一主题 下一主题

Velocity 控制台日志输出 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-05-10 13:53 |只看该作者 |倒序浏览
  1. import org.apache.velocity.runtime.RuntimeServices;
  2. import org.apache.velocity.runtime.log.LogSystem;

  3. public class ConsoleLogSystem implements LogSystem {

  4.   private RuntimeServices rs;

  5.   private int maxLevel = LogSystem.INFO_ID;

  6.   private static final String[] LEVEL_NAMES = new String[] { "ERROR", "WARN",
  7.       "INFO", "DEBUG" };

  8.   private static final int[] LEVELS = new int[] { LogSystem.ERROR_ID,
  9.       LogSystem.WARN_ID, LogSystem.INFO_ID, LogSystem.DEBUG_ID };

  10.   public void init(RuntimeServices rs) throws Exception {
  11.     System.out.println("ConsoleLogSystem.init() called");
  12.     this.rs = rs;
  13.     configure();
  14.   }

  15.   public void logVelocityMessage(int level, String message) {
  16.     if (level >= maxLevel) {
  17.       System.out.println("[" + getLevelName(level) + "] " + message);
  18.     }
  19.   }

  20.   private void configure() {
  21.     String maxLevelName = rs.getString("console.logsystem.max.level");

  22.     int level = getLevelFromString(maxLevelName);

  23.     if (level > -1) {
  24.       System.out.println("Using log level: " + maxLevelName);
  25.       maxLevel = level;
  26.     }
  27.   }

  28.   private int getLevelFromString(String levelName) {
  29.     for (int x = 0; x < LEVEL_NAMES.length; x++) {
  30.       if (LEVEL_NAMES[x].equals(levelName)) {
  31.         return LEVELS[x];
  32.       }
  33.     }
  34.     // should not arrive here, couldn't find the level
  35.     return -1;
  36.   }

  37.   private String getLevelName(int level) {
  38.     for (int x = 0; x < LEVELS.length; x++) {
  39.       if (LEVELS[x] == level) {
  40.         return LEVEL_NAMES[x];
  41.       }
  42.     }
  43.     return "UNKNOWN";
  44.   }
  45. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP