//查询logging level,并传到web页面
@RequestMapping(value="/logging_view", method =RequestMethod.GET)publicString toLoggingView(HttpServletRequest request,Model model){
Properties props= newProperties();try{
//读取log4j.properties文件的内容
String path= SystemController.class.getClassLoader().getResource("").toURI().getPath();
InputStream in= new BufferedInputStream(newFileInputStream(
path+"../log4j.properties"));//这个是log4j.properties的文件路径,根据自己的servlet的path自行配置
props.load(in);
String value= props.getProperty("log4j.rootLogger");
logger.debug("log4j.rootLogger键的值是:"+value);
model.addAttribute("rootLogger", value);
in.close();
}catch(URISyntaxException e) {
logger.error("SystemController : logging_view : URISyntaxException:"+e);
}catch(FileNotFoundException e) {
logger.error("SystemController : logging_view : FileNotFoundException:"+e);
}catch(IOException e) {
logger.error("SystemController : logging_view : IOException:"+e);
}return SessionHandler.verifySession(request, "logging_view");
}
//获取web页面传的数据,设置logging level
@RequestMapping(value="/setLoggingLevel", method =RequestMethod.POST)publicString setLoggingLevel(@RequestParam String rootLogger, @RequestParam String loggerLevel,
HttpServletRequest request, Model model){
RequestContext requestContext= newRequestContext(request);
String[] loggers= rootLogger.split(",");
loggers[0] =loggerLevel;
String logging= "";for(int i = 0; i < loggers.length; i++){
logging+= loggers[i]+",";
}
logging= logging.substring(0, logging.length()-1);
Properties props= newProperties();try{
//将logging level写入log4j.properties文件
String path= SystemController.class.getClassLoader().getResource("").toURI().getPath()+"../log4j.properties";
InputStream in= new BufferedInputStream(newFileInputStream(
path));
props.load(in);
OutputStream fos= newFileOutputStream(path);
props.setProperty("log4j.rootLogger", logging);
props.store(fos,"last update");
String value= props.getProperty("log4j.rootLogger");
logger.debug(value);//关闭文件
in.close();
fos.close();List list = new ArrayList();
list.add(requestContext.getMessage("logging.level"));if(value.split(",")[0].equals(loggerLevel)){
model.addAttribute("msg", requestContext.getMessage("edit.success",list));
}else{
model.addAttribute("msg", requestContext.getMessage("edit.failed",list));
}
}catch(URISyntaxException e) {
logger.error("SystemController : logging_view : URISyntaxException:"+e);
}catch(FileNotFoundException e) {
logger.error("SystemController : logging_view : FileNotFoundException:"+e);
}catch(IOException e) {
logger.error("SystemController : logging_view : IOException:"+e);
}return "msg";
}