package org.safehaus.penrose.log;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.safehaus.penrose.client.PenroseClient;
import org.safehaus.penrose.client.BaseClient;
import org.safehaus.penrose.log.log4j.AppenderConfig;
import org.safehaus.penrose.log.log4j.LoggerConfig;
import org.safehaus.penrose.log.log4j.RootLoggerConfig;
import java.util.Collection;
/**
* @author Endi Sukma Dewata
*/
public class LogManagerClient extends BaseClient implements LogManagerServiceMBean {
public static Logger log = LoggerFactory.getLogger(LogManagerClient.class);
public LogManagerClient(PenroseClient client) throws Exception {
super(client, "LogManager", getStringObjectName());
}
public static String getStringObjectName() {
return "Penrose:name=LogManager";
}
public Collection<AppenderConfig> getAppenderConfigs() throws Exception {
return (Collection<AppenderConfig>)getAttribute("AppenderConfigs");
}
public Collection<String> getAppenderNames() throws Exception {
return (Collection<String>)getAttribute("AppenderNames");
}
public AppenderConfig getAppenderConfig(String appenderName) throws Exception {
return (AppenderConfig)invoke("getAppenderConfig", new Object[] { appenderName }, new String[] { String.class.getName() });
}
public void addAppender(AppenderConfig appenderConfig) throws Exception {
invoke("addAppender", new Object[] { appenderConfig }, new String[] { AppenderConfig.class.getName() });
}
public void updateAppender(String appenderName, AppenderConfig appenderConfig) throws Exception {
invoke(
"updateAppender",
new Object[] { appenderName, appenderConfig },
new String[] { String.class.getName(), AppenderConfig.class.getName() }
);
}
public void removeAppender(String appenderName) throws Exception {
invoke("removeAppender", new Object[] { appenderName }, new String[] { String.class.getName() });
}
public Collection<LoggerConfig> getLoggerConfigs() throws Exception {
return (Collection<LoggerConfig>)getAttribute("LoggerConfigs");
}
public Collection<String> getLoggerNames() throws Exception {
return (Collection<String>)getAttribute("LoggerNames");
}
public LoggerConfig getLoggerConfig(String loggerName) throws Exception {
return (LoggerConfig)invoke("getLoggerConfig", new Object[] { loggerName }, new String[] { String.class.getName() });
}
public void addLogger(LoggerConfig loggerConfig) throws Exception {
invoke("addLogger", new Object[] { loggerConfig }, new String[] { LoggerConfig.class.getName() });
}
public void updateLogger(String loggerName, LoggerConfig loggerConfig) throws Exception {
invoke(
"updateLogger",
new Object[] { loggerName, loggerConfig },
new String[] { String.class.getName(), LoggerConfig.class.getName() }
);
}
public void removeLogger(String loggerName) throws Exception {
invoke("removeLogger", new Object[] { loggerName }, new String[] { String.class.getName() });
}
public RootLoggerConfig getRootLoggerConfig() throws Exception {
return (RootLoggerConfig)getAttribute("RootLoggerConfig");
}
public void updateRootLogger(RootLoggerConfig rootLoggerConfig) throws Exception {
invoke(
"updateRootLogger",
new Object[] { rootLoggerConfig },
new String[] { RootLoggerConfig.class.getName() }
);
}
public void store() throws Exception {
invoke("store");
}
}