consolidate duplicate log header code into setLogHeader().

master
lodici 2017-06-19 09:59:08 +01:00
parent b7b06169c4
commit 1ae240a92d
3 changed files with 17 additions and 35 deletions

View File

@ -2,8 +2,6 @@ package magic.exception.handler;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import magic.model.MagicCard;
import magic.model.MagicGame;
import magic.model.MagicPermanent;
@ -14,6 +12,7 @@ import magic.model.action.MagicAction;
import magic.model.stack.MagicItemOnStack;
import magic.utility.MagicSystem;
import magic.exception.GameException;
import magic.model.MagicLogger;
public class ExceptionReport {
@ -22,15 +21,7 @@ public class ExceptionReport {
public ExceptionReport(final Thread th, final Throwable ex) {
sb.append("CRASH REPORT FOR MAGARENA THREAD ").append(th);
sb.append('\n');
sb.append("CREATED ON ").append(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date()));
sb.append('\n');
sb.append("MAGARENA VERSION ").append(MagicSystem.VERSION);
sb.append(", JRE ").append(System.getProperty("java.version"));
sb.append(", OS ").append(System.getProperty("os.name"));
sb.append("_").append(System.getProperty("os.version"));
sb.append(" ").append(System.getProperty("os.arch"));
MagicLogger.setLogHeader(sb, "CRASH REPORT FOR MAGARENA THREAD " + th);
sb.append("\n================================\n");
sb.append(MagicSystem.getHeapUtilizationStats());
sb.append("\n================================\n");

View File

@ -1,15 +1,11 @@
package magic.model;
import static java.nio.charset.StandardCharsets.UTF_8;
import java.io.FileNotFoundException;
import java.io.UnsupportedEncodingException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.io.UnsupportedEncodingException;
import magic.utility.MagicFileSystem;
import magic.utility.MagicFileSystem.DataPath;
import magic.utility.MagicSystem;
import static java.nio.charset.StandardCharsets.UTF_8;
public class MagicGameLog {
private MagicGameLog() {}
@ -30,15 +26,7 @@ public class MagicGameLog {
try {
writer = new PrintWriter(gameLog, UTF_8.name());
final StringBuilder sb = new StringBuilder();
sb.append("MAGARENA GAME LOG");
sb.append('\n');
sb.append("CREATED ON ").append(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date()));
sb.append('\n');
sb.append("MAGARENA VERSION ").append(MagicSystem.VERSION);
sb.append(", JRE ").append(System.getProperty("java.version"));
sb.append(", OS ").append(System.getProperty("os.name"));
sb.append("_").append(System.getProperty("os.version"));
sb.append(" ").append(System.getProperty("os.arch"));
MagicLogger.setLogHeader(sb, "MAGARENA GAME LOG");
sb.append("\n\n");
log(sb.toString());
} catch (FileNotFoundException|UnsupportedEncodingException e) {

View File

@ -1,27 +1,21 @@
package magic.model;
import static java.nio.charset.StandardCharsets.UTF_8;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.UnsupportedEncodingException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.Date;
import magic.utility.MagicFileSystem;
import magic.utility.MagicSystem;
import static java.nio.charset.StandardCharsets.UTF_8;
public class MagicLogger {
private final File logFile;
private final StringBuilder sb = new StringBuilder();
public MagicLogger(final String name, final String title) {
logFile = MagicFileSystem.getDataPath(MagicFileSystem.DataPath.LOGS).resolve(name + ".log").toFile();
initialize(title);
}
private void initialize(final String title) {
public static void setLogHeader(StringBuilder sb, String title) {
sb.append(title);
sb.append('\n');
sb.append("CREATED ON ").append(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date()));
@ -31,6 +25,15 @@ public class MagicLogger {
sb.append(", OS ").append(System.getProperty("os.name"));
sb.append("_").append(System.getProperty("os.version"));
sb.append(" ").append(System.getProperty("os.arch"));
}
public MagicLogger(final String name, final String title) {
logFile = MagicFileSystem.getDataPath(MagicFileSystem.DataPath.LOGS).resolve(name + ".log").toFile();
initialize(title);
}
private void initialize(final String title) {
setLogHeader(sb, title);
sb.append("\n\n");
}