All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.chimpcentral.simpleLogger.Loggable Maven / Gradle / Ivy

There is a newer version: 2.5.1
Show newest version
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