com.firefly.utils.log.LogItem Maven / Gradle / Ivy
package com.firefly.utils.log;
import java.io.PrintWriter;
import java.io.StringWriter;
import com.firefly.utils.StringUtils;
public class LogItem {
private String name, content, date, level;
private Object[] objs;
private Throwable throwable;
private StackTraceElement stackTraceElement;
private String logStr;
public void setThrowable(Throwable throwable) {
this.throwable = throwable;
}
public void setObjs(Object[] objs) {
this.objs = objs;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void setContent(String content) {
this.content = content;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
public void setDate(String date) {
this.date = date;
}
public StackTraceElement getStackTraceElement() {
return stackTraceElement;
}
public void setStackTraceElement(StackTraceElement stackTraceElement) {
this.stackTraceElement = stackTraceElement;
}
@Override
public String toString() {
if (logStr == null) {
content = StringUtils.replace(content, objs);
if (throwable != null) {
StringWriter str = new StringWriter();
PrintWriter out = new PrintWriter(str);
try {
out.println();
out.println("$err_start");
throwable.printStackTrace(out);
out.println("$err_end");
} finally {
out.close();
}
content += str.toString();
}
if(stackTraceElement != null) {
logStr = level + " " + date + " " + stackTraceElement + "\t" + content;
} else {
logStr = level + " " + date + "\t" + content;
}
}
return logStr;
}
}