diff --git a/src/ru/dmitriymx/shell/LogAgent.java b/src/ru/dmitriymx/shell/LogAgent.java deleted file mode 100644 index cb4f9f0..0000000 --- a/src/ru/dmitriymx/shell/LogAgent.java +++ /dev/null @@ -1,79 +0,0 @@ -package ru.dmitriymx.shell; - -import java.io.File; -import java.util.logging.*; - -public class LogAgent { - private Logger logger; - - public LogAgent() { - this(new LogFormatter(), new ConsoleHandler(), null); - } - - public LogAgent(Formatter formatter) { - this(formatter, new ConsoleHandler(), null); - } - - public LogAgent(ConsoleHandler consoleHandler) { - this(new LogFormatter(), consoleHandler, null); - } - - public LogAgent(File logFile) { - this(new LogFormatter(), new ConsoleHandler(), logFile); - } - - public LogAgent(Formatter formatter, ConsoleHandler consoleHandler, File logFile) { - logger = Logger.getLogger("Shell"); - logger.setUseParentHandlers(false); - - Handler[] handlers = logger.getHandlers(); - for (Handler handler : handlers) { - logger.removeHandler(handler); - } - - consoleHandler.setFormatter(formatter); - logger.addHandler(consoleHandler); - - if (logFile != null) { - try { - FileHandler fHandler = new FileHandler(logFile.getAbsolutePath(), true); - fHandler.setFormatter(formatter); - logger.addHandler(fHandler); - } catch (Exception e) { - logger.log(Level.WARNING, "Failed write log to " + logFile.getAbsolutePath(), e); - } - } - } - - public void info(String message) { - logger.log(Level.INFO, message); - } - - public void info(String message, Object... params) { - logger.log(Level.INFO, String.format(message, params)); - } - - public void warning(String message) { - logger.log(Level.WARNING, message); - } - - public void warning(String message, Object... params) { - logger.log(Level.WARNING, String.format(message, params)); - } - - public void warning(String message, Throwable trow) { - logger.log(Level.WARNING, message, trow); - } - - public void severe(String message) { - logger.log(Level.SEVERE, message); - } - - public void severe(String message, Object... params) { - logger.log(Level.SEVERE, String.format(message, params)); - } - - public void severe(String message, Throwable trow) { - logger.log(Level.SEVERE, message, trow); - } -} \ No newline at end of file diff --git a/src/ru/dmitriymx/shell/LogFormatter.java b/src/ru/dmitriymx/shell/LogFormatter.java deleted file mode 100644 index 282d23a..0000000 --- a/src/ru/dmitriymx/shell/LogFormatter.java +++ /dev/null @@ -1,28 +0,0 @@ -package ru.dmitriymx.shell; - -import java.io.PrintWriter; -import java.io.StringWriter; -import java.text.SimpleDateFormat; -import java.util.logging.Formatter; -import java.util.logging.LogRecord; - -public class LogFormatter extends Formatter { - private final SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss "); - - @Override - public String format(LogRecord record) { - StringBuilder sb = new StringBuilder(); - sb.append(SDF.format(record.getMillis())) - .append("[").append(record.getLevel().getName()).append("] ") - .append(record.getMessage()).append("\n"); - - Throwable thrown = record.getThrown(); - if (thrown != null) { - StringWriter sw = new StringWriter(); - thrown.printStackTrace(new PrintWriter(sw)); - sb.append(sw.toString()); - } - - return sb.toString(); - } -} \ No newline at end of file diff --git a/src/ru/dmitriymx/shell/Shell.java b/src/ru/dmitriymx/shell/Shell.java index 7f07908..d0e934d 100644 --- a/src/ru/dmitriymx/shell/Shell.java +++ b/src/ru/dmitriymx/shell/Shell.java @@ -2,16 +2,13 @@ package ru.dmitriymx.shell; import jline.console.ConsoleReader; -import java.io.File; import java.io.IOException; import java.util.LinkedList; -import java.util.logging.Formatter; /** * Командная оболочка */ public class Shell implements Runnable { - private LogAgent log; private Thread shellThread; private String prompt; private LinkedList commandList = new LinkedList<>(); @@ -24,45 +21,8 @@ public class Shell implements Runnable { * @throws IOException */ public Shell() throws IOException { - this(new LogFormatter(), null); - } - - /** - * Создание командной оболочки - * @param logFile файл журналирования - * @throws IOException - */ - public Shell(File logFile) throws IOException { - this(new LogFormatter(), logFile); - } - - /** - * Создание командной оболочки - * @param logFormatter свой вариант форматирования вывода - * @throws IOException - */ - public Shell(Formatter logFormatter) throws IOException { - this(logFormatter, null); - } - - /** - * Создание командной оболочки - * @param logFormatter свой вариант форматирования вывода - * @param logFile файл журналирования - * @throws IOException - */ - public Shell(Formatter logFormatter, File logFile) throws IOException { cReader = new ConsoleReader(System.in, System.out); cReader.setExpandEvents(false); - log = new LogAgent(logFormatter, new ShellConsoleHandler(this), logFile); - } - - /** - * Получить объект журналирования - * @return - */ - public LogAgent getLog() { - return log; } /** @@ -118,7 +78,7 @@ public class Shell implements Runnable { shellThread.join(); shellThread.start(); } catch (InterruptedException e) { - log.severe("Shell thread exception: ", e); + e.printStackTrace(); } } @@ -161,10 +121,16 @@ public class Shell implements Runnable { continue readerLoop; } } - log.warning("Unknow command \"%s\"", commandName); + System.err.println(String.format("Unknow command \"%s\"", commandName)); + try { + Thread.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } } } catch (IOException e) { - log.severe("Shell exception:", e); + System.err.println("Shell exception"); + e.printStackTrace(); } cReader.removeCompleter(commandCompleter);