/ ** * */ import java.io.file; импорт java.io.filewriter; импорт java.io.ioexception; импорт java.text.simpledateformat; импорт java.util.date; /** * @author Magic282 * */Public Class Logger {Private Static String LogFilePath; частный статический логический IsInitialized = false; Частный статический журнал файла файла = null; Частный статический логический printloghenlog = true; private static boolean initlogger () {string logdirectorypath = System.getProperty ("user.dir") + java.io.file.separatorch + "log"; if (! new File (logDirectoryPath) .exists ()) {new File (logDirectoryPath) .mkdir (); } Date logfiledate = new Date (); SimpleDateFormat DateFormat = new SimpleDateFormat ("yyyy-mm-dd-hh-mm-ss"); logFilePath = logDirectoryPath + java.io.file.separatorChar + dateformat.format (logFiledate) + ".log"; try {logwriter = new FileWriter (logfilePath, true); ISInitialized = true; } catch (ioException e) {// todo автоматическая сгенерированная система блоков захвата. System.err.println ("Инициализация не удастся."); e.printstacktrace (); вернуть ложь; } вернуть true; } public static void Log (String Message) {if (! IsInitialized) {initlogger (); } Date logfiledate = new Date (); SimpleDateFormat DateFormat = new SimpleDateFormat ("yyyy-mm-dd-hh-mm-ss"); String callingClassName = new Exception (). GetStackTrace () [1] .getClassName (); Synchronized (logwriter) {String log = string.format ("[%s] @ [%s]:%s/n", callclassname, dateformat.format (logfiledate), message); if (printlogwhenlog) {System.out.printf ("[log]:%s", log); } try {logwriter.write (log); logwriter.flush (); } catch (ioException e) {// todo автоматическая сгенерированная система Catch Block System.err.println ("Журнал записи в ошибку файла %s."); e.printstacktrace (); }}} public static void log (исключение исключения) {if (! isInitialized) {initlogger (); } Date logfiledate = new Date (); SimpleDateFormat DateFormat = new SimpleDateFormat ("yyyy-mm-dd-hh-mm-ss"); String callingClassName = new Exception (). GetStackTrace () [1] .getClassName (); Synchronized (logwriter) {String log = string.format ("[%s] @ [%s]:%s/n", callclassname, dateformat.format (logfiledate), exception.tostring ()); if (printlogwhenlog) {System.out.printf ("[log]:%s", log); } try {logwriter.write (log); logwriter.flush (); } catch (ioException e) {// todo автоматическая сгенерированная система Catch Block System.err.println ("Журнал записи в ошибку файла %s."); e.printstacktrace (); }}}}