package com.taobao.zeus.model;
import java.io.PrintWriter;
import java.io.StringWriter;
public class LogContent {
private int lines = 0;
private StringBuffer content = new StringBuffer();
public void appendConsole(String log) {
if (lines < 10000) {
lines++;
if (log.toLowerCase().contains("error")
|| log.toLowerCase().contains("failed")
|| log.contains("FileNotFoundException")
|| log.contains("NullPointException")
|| log.contains("No such file or directory")
|| log.contains("command not found")
|| log.contains("Permission denied")) {
content.append("CONSOLE# ").append("<font style=\"color:red\">")
.append(log).append("</font>")
.append("\n");
} else {
content.append("CONSOLE# ").append(log).append("\n");
}
if (lines == 10000) {
content.append("ZEUS# 控制台输出信息过多,停止记录,建议您优化自己的Job");
}
}
}
public void appendZeus(String log) {
lines++;
content.append("ZEUS# ").append(log).append("\n");
}
public void append(String log) {
lines++;
content.append(log).append("\n");
}
public void appendZeusException(Exception e) {
if (e == null) {
return;
}
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
appendZeus(sw.toString());
}
public void setContent(StringBuffer content) {
this.content = content;
}
public String getContent() {
return content.toString();
}
public int getLines() {
return lines;
}
}