* helper to read the last few lines of a textfile

* use that to render the last few lines of the wrapper log on /logs.jsp (for the on demand stack trace)
* thread creation / finalization logging
* support a hard restart (stop immediately and restart the JVM) - useful for rerunning clients.config (etc)
* systray when not supported
This commit is contained in:
jrandom
2004-08-24 18:02:48 +00:00
committed by zzz
parent 71577c9b0e
commit e81c1df19f
7 changed files with 92 additions and 9 deletions

View File

@ -28,15 +28,28 @@ public class ConfigServiceHandler extends FormHandler {
} else if ("Cancel graceful shutdown".equals(_action)) {
_context.router().cancelGracefulShutdown();
addFormNotice("Graceful shutdown cancelled");
} else if ("Hard restart".equals(_action)) {
_context.router().shutdown(Router.EXIT_HARD_RESTART);
addFormNotice("Hard restart requested");
} else if ("Dump threads".equals(_action)) {
WrapperManager.requestThreadDump();
addFormNotice("Threads dumped to logs/wrapper.log");
} else if ("Show systray icon".equals(_action)) {
SysTray.getInstance().show();
addFormNotice("Systray icon enabled (if possible)");
SysTray tray = SysTray.getInstance();
if (tray != null) {
tray.show();
addFormNotice("Systray enabled");
} else {
addFormNotice("Systray not supported on this platform");
}
} else if ("Hide systray icon".equals(_action)) {
SysTray.getInstance().hide();
addFormNotice("Systray icon disabled");
SysTray tray = SysTray.getInstance();
if (tray != null) {
tray.hide();
addFormNotice("Systray disabled");
} else {
addFormNotice("Systray not supported on this platform");
}
} else {
addFormNotice("Blah blah blah. whatever. I'm not going to " + _action);
}

View File

@ -4,6 +4,7 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.List;
import net.i2p.data.DataHelper;
import net.i2p.router.RouterContext;
public class LogsHelper {
@ -39,4 +40,12 @@ public class LogsHelper {
return buf.toString();
}
public String getServiceLogs() {
String str = DataHelper.readTextFile("logs/wrapper.log", 500);
if (str == null)
return "";
else
return "<pre>" + str + "</pre>";
}
}