From c26062a15c43435c4fd4f4156a30254f5f8950ae Mon Sep 17 00:00:00 2001 From: "Task-1.1" Date: Sun, 27 Dec 2020 05:00:49 +0500 Subject: [PATCH 1/2] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=205.1(1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/example/task01/Task01Main.java | 96 ++++++++++++++++++- 1 file changed, 93 insertions(+), 3 deletions(-) diff --git a/05-java-oop-principles/task01/src/com/example/task01/Task01Main.java b/05-java-oop-principles/task01/src/com/example/task01/Task01Main.java index e753463e6..02d1b957a 100644 --- a/05-java-oop-principles/task01/src/com/example/task01/Task01Main.java +++ b/05-java-oop-principles/task01/src/com/example/task01/Task01Main.java @@ -1,7 +1,97 @@ package com.example.task01; -public class Task01Main { - public static void main(String[] args) { +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Hashtable; +import java.util.Objects; +public class Logger +{ + private static final Hashtable loggers = new Hashtable<>(); + protected final String name; + private LoggerLevel level = LoggerLevel.ERROR; + private static final SimpleDateFormat dateFormat = new SimpleDateFormat(" yyyy.MM.dd hh:mm:ss "); + + protected Logger(String name) + { + this.name = name; + } + + public String getName() + { + return name; + } + + public static Logger getLogger(String name) + { + return Logger.loggers.computeIfAbsent(name, Logger::new); + } + + public void setLevel(LoggerLevel level) + { + this.level = Objects.requireNonNull(level); + } + + public LoggerLevel getLevel() + { + return level; + } + + private void log(LoggerLevel level, String message) + { + if (level.ordinal() >= this.level.ordinal()) + { + System.err.println("[" + this.level.toString() + "]" + dateFormat.format(new Date()) + + this.name + " - " + message); + } + } + + private void log(LoggerLevel level, String format, Object... objects) + + if (level.ordinal() >= this.level.ordinal()) + { + System.err.println("[" + this.level.toString() + "]" + dateFormat.format(new Date()) + + this.name + " - " + String.format(format, objects)); + } + } + + public void debug(String message) + { + this.log(LoggerLevel.DEBUG, message); + } + + public void debug(String format, Object... objects) + { + this.log(LoggerLevel.DEBUG, format, objects); + } + + public void info(String message) + { + this.log(LoggerLevel.INFO, message); + } + + public void info(String format, Object... objects) + { + this.log(LoggerLevel.INFO, format, objects); + } + + public void warning(String message) + { + this.log(LoggerLevel.WARNING, message); + } + + public void warning(String format, Object... objects) + { + this.log(LoggerLevel.WARNING, format, objects); + } + + public void error(String message) + { + this.log(LoggerLevel.ERROR, message); + } + + public void error(String format, Object... objects) + { + this.log(LoggerLevel.ERROR, format, objects); } -} +} \ No newline at end of file From e5e626a48a67ab7f7f53dac38812f459d29f7042 Mon Sep 17 00:00:00 2001 From: "Task-1.1" Date: Sun, 27 Dec 2020 05:01:54 +0500 Subject: [PATCH 2/2] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=205.1(2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/example/task01/Task01Main.java | 98 +------------------ 1 file changed, 5 insertions(+), 93 deletions(-) diff --git a/05-java-oop-principles/task01/src/com/example/task01/Task01Main.java b/05-java-oop-principles/task01/src/com/example/task01/Task01Main.java index 02d1b957a..b62374245 100644 --- a/05-java-oop-principles/task01/src/com/example/task01/Task01Main.java +++ b/05-java-oop-principles/task01/src/com/example/task01/Task01Main.java @@ -1,97 +1,9 @@ package com.example.task01; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Hashtable; -import java.util.Objects; - -public class Logger +public enum LoggerLevel { - private static final Hashtable loggers = new Hashtable<>(); - protected final String name; - private LoggerLevel level = LoggerLevel.ERROR; - private static final SimpleDateFormat dateFormat = new SimpleDateFormat(" yyyy.MM.dd hh:mm:ss "); - - protected Logger(String name) - { - this.name = name; - } - - public String getName() - { - return name; - } - - public static Logger getLogger(String name) - { - return Logger.loggers.computeIfAbsent(name, Logger::new); - } - - public void setLevel(LoggerLevel level) - { - this.level = Objects.requireNonNull(level); - } - - public LoggerLevel getLevel() - { - return level; - } - - private void log(LoggerLevel level, String message) - { - if (level.ordinal() >= this.level.ordinal()) - { - System.err.println("[" + this.level.toString() + "]" + dateFormat.format(new Date()) + - this.name + " - " + message); - } - } - - private void log(LoggerLevel level, String format, Object... objects) - - if (level.ordinal() >= this.level.ordinal()) - { - System.err.println("[" + this.level.toString() + "]" + dateFormat.format(new Date()) + - this.name + " - " + String.format(format, objects)); - } - } - - public void debug(String message) - { - this.log(LoggerLevel.DEBUG, message); - } - - public void debug(String format, Object... objects) - { - this.log(LoggerLevel.DEBUG, format, objects); - } - - public void info(String message) - { - this.log(LoggerLevel.INFO, message); - } - - public void info(String format, Object... objects) - { - this.log(LoggerLevel.INFO, format, objects); - } - - public void warning(String message) - { - this.log(LoggerLevel.WARNING, message); - } - - public void warning(String format, Object... objects) - { - this.log(LoggerLevel.WARNING, format, objects); - } - - public void error(String message) - { - this.log(LoggerLevel.ERROR, message); - } - - public void error(String format, Object... objects) - { - this.log(LoggerLevel.ERROR, format, objects); - } + DEBUG, // - отладка + INFO, // - информационные сообщения + WARNING, // - предупреждение + ERROR // - ошибка } \ No newline at end of file