private void switchState(GameState newState) { if (currentState != null) { currentState.dispose(); } currentState = newState; LoggingContext.setGameState(newState); newState.init(this); for (StateChangeSubscriber subscriber : stateChangeSubscribers) { subscriber.onStateChange(); } // drain input queues InputSystem inputSystem = rootContext.get(InputSystem.class); inputSystem.getMouseDevice().getInputQueue(); inputSystem.getKeyboard().getInputQueue(); }
public String format(LogRecord rec) { String dateStr = dateformat.format(rec.getDate()); AppContext ctx = rec.getAppContext(); String topic = rec.getTopic(); LoggingContext lctx = rec.getLoggingContext(); String topicStr = (topic == null ? "" : +rec.getMessageID() + SP + rec.getTopic()); StringBuilder ctxStrBuilder = new StringBuilder(); ctxStrBuilder .append("<") .append( (ctx == null ? "no-ctx" : (AppConstants.APP_NAMES[ctx.getAppID()] + SP + (ctx.getUser() == null ? "no-user" : ctx.getUser().getId())))) .append( (lctx == null ? " " : " {" + lctx.getMessageCategory() + SP + lctx.getCustomer() + SP + lctx.getUser() + SP + lctx.getComponent() + SP + lctx.getSubComponent() + SP + "}")) .append(">"); StringBuilder msgbuilder = new StringBuilder(); msgbuilder .append("[") .append(rec.getPriority()) .append(SP) .append(topicStr) .append(SP) .append(rec.getNickName()) .append(SP) .append(ctxStrBuilder.toString()) .append(SP) .append(dateStr) .append("] ") .append(rec.getMessage()) .append(nl); String msg = msgbuilder.toString(); if (msg.length() > maxMsgLen) { msg = msg.substring(0, maxMsgLen) + nl + " ..." + nl + " ... log message too long, the rest is truncated"; } return msg; }