Router logs:
+
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigServiceHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigServiceHandler.java index 51f04d48c..83d354008 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigServiceHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigServiceHandler.java @@ -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); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java index ab069ec76..ee8299bfb 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java @@ -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 "
" + str + ""; + } } diff --git a/apps/routerconsole/jsp/configservice.jsp b/apps/routerconsole/jsp/configservice.jsp index 7dd44a452..6728c1862 100644 --- a/apps/routerconsole/jsp/configservice.jsp +++ b/apps/routerconsole/jsp/configservice.jsp @@ -31,6 +31,7 @@ +