2017-12-15 02:42:52 +01:00
|
|
|
/**
|
|
|
|
* Copyright (C) 2011-2013 Nicolas Vinot <aeris@imirhil.fr>
|
|
|
|
* Copyright (C) 2017 Christian Pierre MOMON <cmomon@april.org>
|
|
|
|
*
|
|
|
|
* This file is part of (April) Hebdobot.
|
|
|
|
*
|
|
|
|
* Hebdobot is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU Affero General Public License as published by
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* Hebdobot is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU Affero General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
|
|
* along with Hebdobot. If not, see <http://www.gnu.org/licenses/>
|
|
|
|
*/
|
|
|
|
package org.april.hebdobot;
|
|
|
|
|
2017-12-24 11:21:44 +01:00
|
|
|
import org.april.hebdobot.cli.HebdobotCLI;
|
2017-12-15 02:42:52 +01:00
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The Class Launcher.
|
|
|
|
*/
|
|
|
|
public class HebdobotLauncher
|
|
|
|
{
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(HebdobotLauncher.class);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Instantiates a new hebdobot launcher.
|
|
|
|
*/
|
|
|
|
private HebdobotLauncher()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The main method.
|
|
|
|
*
|
|
|
|
* @param args
|
|
|
|
* the arguments
|
|
|
|
*/
|
|
|
|
public static void main(final String[] args)
|
|
|
|
{
|
2017-12-24 11:21:44 +01:00
|
|
|
//
|
|
|
|
setDefaultException();
|
|
|
|
|
|
|
|
HebdobotCLI.run(args);
|
2017-12-15 02:42:52 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets the default exception.
|
|
|
|
*/
|
|
|
|
public static void setDefaultException()
|
|
|
|
{
|
|
|
|
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler()
|
|
|
|
{
|
|
|
|
/* (non-Javadoc)
|
|
|
|
* @see java.lang.Thread.UncaughtExceptionHandler#uncaughtException(java.lang.Thread, java.lang.Throwable)
|
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
public void uncaughtException(final Thread thread, final Throwable exception)
|
|
|
|
{
|
|
|
|
String message;
|
|
|
|
if (exception instanceof OutOfMemoryError)
|
|
|
|
{
|
|
|
|
message = "Java ran out of memory!\n\n";
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
message = String.format("An error occured: %1s(%2s)", exception.getClass(), exception.getMessage());
|
|
|
|
}
|
|
|
|
|
2017-12-24 11:21:44 +01:00
|
|
|
logger.error("uncaughtException ", exception);
|
|
|
|
logger.error(message);
|
|
|
|
logger.info("Unexpected error.");
|
2017-12-15 02:42:52 +01:00
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|