From a4e4fd560bb52b2a06d9815f8d2251dc5456b6a6 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Sat, 9 Feb 2013 18:14:46 +1300 Subject: Added system info logging (fix #139) --- src/org/traccar/Main.java | 39 +++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/org/traccar/Main.java b/src/org/traccar/Main.java index 918370266..144ad1ec7 100644 --- a/src/org/traccar/Main.java +++ b/src/org/traccar/Main.java @@ -1,5 +1,5 @@ /* - * Copyright 2012 Anton Tananaev (anton.tananaev@gmail.com) + * Copyright 2012 - 2013 Anton Tananaev (anton.tananaev@gmail.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,30 +15,57 @@ */ package org.traccar; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.OperatingSystemMXBean; +import java.lang.management.RuntimeMXBean; import java.util.Locale; import org.traccar.helper.Log; public class Main { + + private static void printSystemInfo() { + try { + OperatingSystemMXBean operatingSystemBean = ManagementFactory.getOperatingSystemMXBean(); + Log.info("Operating System" + + " name: " + operatingSystemBean.getName() + + " version: " + operatingSystemBean.getVersion() + + " architecture: " + operatingSystemBean.getArch()); - public static void main(String[] args) throws Exception { + RuntimeMXBean runtimeBean = ManagementFactory.getRuntimeMXBean(); + Log.info("Java Runtime" + + " name: " + runtimeBean.getVmName() + + " vendor: " + runtimeBean.getVmVendor() + + " version: " + runtimeBean.getVmVersion()); + + MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean(); + Log.info("Memory Limit" + + " heap: " + memoryBean.getHeapMemoryUsage().getMax() / (1024 * 1024) + "mb" + + " non-heap: " + memoryBean.getNonHeapMemoryUsage().getMax() / (1024 * 1024) + "mb"); + } catch (Exception e) { + Log.warning("Failed to get system info"); + } + } - // TODO: Temporary formatting workaround + public static void main(String[] args) throws Exception { Locale.setDefault(Locale.ENGLISH); final ServerManager service = new ServerManager(); service.init(args); - Log.info("starting server..."); + Log.info("Starting server..."); + printSystemInfo(); + service.start(); // Shutdown server properly Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { - Log.info("shutting down server..."); + Log.info("Shutting down server..."); service.stop(); } }); - } + } -- cgit v1.2.3