Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Wednesday, November 28, 2007

java code for Console Log System

import org.apache.velocity.runtime.RuntimeServices;
import org.apache.velocity.runtime.log.LogSystem;

public class ConsoleLogSystem implements LogSystem {

private RuntimeServices rs;

private int maxLevel = LogSystem.INFO_ID;

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

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

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

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

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

int level = getLevelFromString(maxLevelName);

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

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

private String getLevelName(int level) {
for (int x = 0; x < LEVELS.length; x++) {
if (LEVELS[x] == level) {
return LEVEL_NAMES[x];
}
}
return "UNKNOWN";
}
}

No comments: