Warning: session_start(): open(/var/lib/php/sessions/sess_kra9fhp3533gl4a0qdp90lrf5k, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
// TODO: capture all of System.out/System.err
sclass SystemPrintLog extends DynModule {
int linesToShow = 100, interval = 250;
transient Appendable log; // virtual NotifyingStringBuffer
transient JTextArea ta;
transient long changesSeen;
start {
if (dm_getBounds() == null) {
print("Setting frame rect");
dm_setBounds(this, 0, max(0, getHeight(dm_desktopPane())-200), 400, 200);
}
log = getCreator('print_log);
doEvery(interval, r updateMe);
}
visualize {
ret componentPopupMenuItems(jSection("SYSTEM LOG", ta = moveCaretToEnd(typeWriterTextArea(str(log)))),
"Clear", r { clearStringBuffer_gen(log) },
"Copy to new window", r { showText("System Log", log) });
}
void unvisualize() { ta = null; }
void update {
if (ta == null) ret;
Long changes = getOpt(log, 'changes);
if (changes == null || neq(changes, changesSeen)) {
if (changes != null) changesSeen = changes;
setText(ta, extractLastNLinesOfString(linesToShow, str(log));
}
}
}