/** * Main entry point for getting an Logger for a given name. Calls getLogger to return the instance * of Logger from our custom Factory. * * <p>Note that if the log4j system has not been setup correctly, meaning the LoggerFactory * subclass has not been correctly put in place, then RuntimeException will be thrown. * * @param name to create the logger for * @return Logger for the given name. */ public static ERXLogger getERXLogger(String name) { Logger logger = ERXLogger.getLogger(name); if (logger != null && !(logger instanceof ERXLogger)) { ERXLogger.configureLoggingWithSystemProperties(); logger = ERXLogger.getLogger(name); } if (logger != null && !(logger instanceof ERXLogger)) { throw new RuntimeException( "Can't load Logger for \"" + name + "\" because it is not of class ERXLogger but \"" + logger.getClass().getName() + "\". Let your Application class inherit from ERXApplication or call ERXLog4j.configureLogging() statically the first thing in your app. \nAlso check if there is a \"log4j.loggerFactory=er.extensions.Logger$Factory\" line in your properties."); } return (ERXLogger) logger; }
/** * 更新排号 * * @return */ public String updateQueue() { HttpServletResponse response = ServletActionContext.getResponse(); /* * 在调用getWriter之前未设置编码(既调用setContentType或者setCharacterEncoding方法设置编码), * HttpServletResponse则会返回一个用默认的编码(既ISO-8859-1)编码的PrintWriter实例。这样就会 * 造成中文乱码。而且设置编码时必须在调用getWriter之前设置,不然是无效的。 * */ response.setContentType("text/html;charset=utf-8"); Writer out; String result; try { out = response.getWriter(); result = queueService.updateQueue(queue); logger.info("更新排号==================:" + result); out.write(result); out.flush(); out.close(); } catch (Exception e) { logger.error(logger.getClass().getName() + "更新排号异常:" + e.getMessage()); return this.ERROR; } return this.SUCCESS; }