From b10824bb5769c4abb93e3451673b88efdfb9d467 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Fri, 14 Sep 2018 14:33:49 +1200 Subject: Log using slf4j and java logging --- src/org/traccar/Main.java | 47 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 5 deletions(-) (limited to 'src/org/traccar/Main.java') diff --git a/src/org/traccar/Main.java b/src/org/traccar/Main.java index 1e2db2693..fd1f07dca 100644 --- a/src/org/traccar/Main.java +++ b/src/org/traccar/Main.java @@ -1,5 +1,5 @@ /* - * Copyright 2012 - 2015 Anton Tananaev (anton@traccar.org) + * Copyright 2012 - 2018 Anton Tananaev (anton@traccar.org) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,8 +15,14 @@ */ package org.traccar; -import org.traccar.helper.Log; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.OperatingSystemMXBean; +import java.lang.management.RuntimeMXBean; +import java.nio.charset.Charset; import java.sql.SQLException; import java.util.Timer; import java.util.TimerTask; @@ -24,16 +30,47 @@ import java.util.Locale; public final class Main { + private static final Logger LOGGER = LoggerFactory.getLogger(Main.class); + private static final long CLEAN_PERIOD = 24 * 60 * 60 * 1000; private Main() { } + public static void logSystemInfo() { + try { + OperatingSystemMXBean operatingSystemBean = ManagementFactory.getOperatingSystemMXBean(); + LOGGER.info("Operating system" + + " name: " + operatingSystemBean.getName() + + " version: " + operatingSystemBean.getVersion() + + " architecture: " + operatingSystemBean.getArch()); + + RuntimeMXBean runtimeBean = ManagementFactory.getRuntimeMXBean(); + LOGGER.info("Java runtime" + + " name: " + runtimeBean.getVmName() + + " vendor: " + runtimeBean.getVmVendor() + + " version: " + runtimeBean.getVmVersion()); + + MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean(); + LOGGER.info("Memory limit" + + " heap: " + memoryBean.getHeapMemoryUsage().getMax() / (1024 * 1024) + "mb" + + " non-heap: " + memoryBean.getNonHeapMemoryUsage().getMax() / (1024 * 1024) + "mb"); + + LOGGER.info("Character encoding: " + + System.getProperty("file.encoding") + " charset: " + Charset.defaultCharset()); + + } catch (Exception error) { + LOGGER.warn("Failed to get system info"); + } + } + public static void main(String[] args) throws Exception { Locale.setDefault(Locale.ENGLISH); Context.init(args); - Log.info("Starting server..."); + logSystemInfo(); + LOGGER.info("Version: " + Context.getAppVersion()); + LOGGER.info("Starting server..."); Context.getServerManager().start(); if (Context.getWebServer() != null) { @@ -46,7 +83,7 @@ public final class Main { try { Context.getDataManager().clearHistory(); } catch (SQLException error) { - Log.warning(error); + LOGGER.warn(null, error); } } }, 0, CLEAN_PERIOD); @@ -54,7 +91,7 @@ public final class Main { Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { - Log.info("Shutting down server..."); + LOGGER.info("Shutting down server..."); if (Context.getWebServer() != null) { Context.getWebServer().stop(); -- cgit v1.2.3