/** * Create a Child Logger of this Logger. */ @Override protected Logger newLogger(String fullname) { StdErrLog logger = new StdErrLog(fullname); // Preserve configuration for new loggers configuration logger.setPrintLongNames(_printLongNames); logger._stderr = this._stderr; // Force the child to have any programmatic configuration if (_level!=_configuredLevel) logger._level=_level; return logger; }
/** * Legacy interface where a programmatic configuration of the logger level * is done as a wholesale approach. */ @Override public void setDebugEnabled(boolean enabled) { if (enabled) { this._level = LEVEL_DEBUG; for (Logger log : Log.getLoggers().values()) { if (log.getName().startsWith(getName()) && log instanceof StdErrLog) ((StdErrLog)log).setLevel(LEVEL_DEBUG); } } else { this._level = this._configuredLevel; for (Logger log : Log.getLoggers().values()) { if (log.getName().startsWith(getName()) && log instanceof StdErrLog) ((StdErrLog)log).setLevel(((StdErrLog)log)._configuredLevel); } } }
Log.__props.putAll(props); _name = name == null?"":name; _abbrevname = condensePackageString(this._name); _level = getLoggingLevel(Log.__props,this._name); _configuredLevel = _level; String source = getLoggingProperty(Log.__props,_name,"SOURCE"); _source = source==null?__source:Boolean.parseBoolean(source); String stacks = getLoggingProperty(Log.__props,_name,"STACKS"); _hideStacks = stacks==null?false:!Boolean.parseBoolean(stacks);
private void format(StringBuilder buffer, String level, String msg, Throwable thrown) { format(buffer,level,msg); if (isHideStacks()) { format(buffer,": "+String.valueOf(thrown)); } else { format(buffer,thrown); } }
@Override public void debug(String msg, long arg) { if (isDebugEnabled()) { StringBuilder buffer = new StringBuilder(64); format(buffer,":DBUG:",msg,arg); (_stderr==null?System.err:_stderr).println(buffer); } }
Log.setLog(new StdErrLog()); Log.getLog().setDebugEnabled(false);
public StdErrLog(String name, Properties props) { if (props!=null && props!=__props) __props.putAll(props); this._name = name == null?"":name; this._abbrevname = condensePackageString(this._name); this._level = getLoggingLevel(props,this._name); this._configuredLevel = this._level; try { _source = Boolean.parseBoolean(props.getProperty(_name + ".SOURCE",Boolean.toString(_source))); } catch (AccessControlException ace) { _source = __source; } }
protected void format(StringBuilder buffer, Throwable thrown) { format(buffer,thrown,""); }
@Override public void info(Throwable thrown) { info("",thrown); }
@Override public void debug(Throwable thrown) { debug("",thrown); }
public static void main(String[] argv) { WebSocketClient holder = new WebSocketClient(); WebSocketInterface webSocket = new WebSocketInterface(); Client client = new Client(webSocket); StdErrLog logger = new StdErrLog(); logger.setLevel(StdErrLog.LEVEL_OFF); Log.setLog(logger); try { webSocket.setListener(client); holder.start(); URI uri = new URI("ws://localhost:8080/websocket/?login=moxie&password=insecure"); ClientUpgradeRequest request = new ClientUpgradeRequest(); holder.connect(webSocket, uri, request); System.out.printf("Connecting..."); Thread.sleep(10000); } catch (Throwable t) { t.printStackTrace(); } }
public StacklessLogging(Logger... logs) { for (Logger log : logs) { // only operate on loggers that are of type StdErrLog if (log instanceof StdErrLog && !log.isDebugEnabled()) { StdErrLog stdErrLog=((StdErrLog)log); if (!stdErrLog.isHideStacks()) { stdErrLog.setHideStacks(true); squelched.add(stdErrLog); } } } }
buffer.append(condensePackageString(clazz));
public void enableLogging() { this.log.setLevel(2); }
private void format(StringBuilder buffer, String level, String msg, Throwable thrown) { format(buffer,level,msg); if (isHideStacks()) { format(buffer,String.valueOf(thrown)); } else { format(buffer,thrown); } }
Log.setLog(new StdErrLog()); Log.getLog().setDebugEnabled(false);
public StdErrLog(String name, Properties props) { if (props!=null && props!=__props) __props.putAll(props); this._name = name == null?"":name; this._abbrevname = condensePackageString(this._name); this._level = getLoggingLevel(props,this._name); this._configuredLevel = this._level; try { _source = Boolean.parseBoolean(props.getProperty(_name + ".SOURCE",Boolean.toString(_source))); } catch (AccessControlException ace) { _source = __source; } }
@Override public void debug(String msg, Throwable thrown) { if (_level <= LEVEL_DEBUG) { StringBuilder buffer = new StringBuilder(64); format(buffer,":DBUG:",msg,thrown); (_stderr==null?System.err:_stderr).println(buffer); } }