
com.chimpcentral.simpleLogger.Loggable Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of logger Show documentation
Show all versions of logger Show documentation
Logger to create HTML and TEXT logs
package com.chimpcentral.simpleLogger;
import com.chimpcentral.date.DateHelper;
public abstract class Loggable {
protected LogFile logFile = null;
protected LogFileHelper logFileHelper = null;
protected String name = null;
protected String logTableBodyId = null;
protected String logTableRowTag = null;
private boolean hasTableBody = false;
public Loggable(String name) {
this.logFileHelper = new LogFileHelper();
this.name = name;
this.logTableBodyId = name + "-logs";
this.logTableRowTag = "";
}
abstract LogFile getLogFile();
String getName() {
return this.name;
}
private void createTableBody() {
String tableBodyHTML = logFileHelper.getLogTableBodyHTML();
tableBodyHTML = tableBodyHTML.replace(Tags.logTableBodyIdTag, logTableBodyId);
tableBodyHTML = tableBodyHTML.replace(Tags.logTableRowTag, logTableRowTag);
if (this.name.equals("main")) {
tableBodyHTML = tableBodyHTML.replace(" style=\"display: none;\"", "");
}
getLogFile().createTableBody(tableBodyHTML);
hasTableBody = true;
}
private String getMessage(String message, boolean isWarning) {
String timestamp = new DateHelper().getCurrentTimeStamp();
StringBuilder messageBuilder = new StringBuilder()
.append("");
if (isWarning) messageBuilder.append("" + "warning" + " ");
else messageBuilder.append("" + "info" + " ");
messageBuilder.append("" + timestamp + " ")
.append("" + message + " ")
.append(" ")
.append(this.logTableRowTag);
return messageBuilder.toString();
}
public void info(String message) {
if (!hasTableBody) createTableBody();
getLogFile().log(this.logTableRowTag, getMessage(message, false));
}
public void warn(String message) {
if (!hasTableBody) createTableBody();
getLogFile().log(this.logTableRowTag, getMessage(message, true));
}
void toButton(String name, String message) {
}
public void exception(Exception exception) {
StringBuilder stackTrace = new StringBuilder();
for (StackTraceElement trace: exception.getStackTrace()) {
stackTrace.append(trace + "
");
}
StringBuilder exceptionMessage = new StringBuilder()
.append("An exception was thrown")
.append("
Exception Message: " + exception.getMessage())
.append("
Exception Cause: " + exception.getCause())
.append("
Exception Class Name: " + exception.getClass().getSimpleName())
.append("
Exception StackTrace:
" + stackTrace.toString());
warn(exceptionMessage.toString());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy