您的位置:首页 > 编程语言 > Java开发

取eclipse console 打印字符串,判断日志是否有异常

2013-11-06 14:58 211 查看
1. 取得当前输入的console

/**
* 取得控制台的字符串的Docment
* @param processConsoleName 控制台名称,如在java application  中定义的名字为test ,则这个地方的输入为test即可
* @return null
*/
public static IDocument getConsoleMsgByProcessConsole(String processConsoleName){
IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager();
IConsole [] console = manager.getConsoles();
for (IConsole iConsole : console) {
if(iConsole instanceof ProcessConsole){
ProcessConsole process = (ProcessConsole) iConsole;
if(process.getName() != null && process.getName().contains(processConsoleName)){
IDocument doc = process.getDocument();
if(doc != null){
return doc;
}
}
}
}

return null;
}
1. 开始处理每一行。也可以取得所有

/**
* 判断控制台信息是否有异常
* @param consoleName
* @throws BadLocationException
*/
private boolean isConsoleMsgException(String consoleName) throws BadLocationException{
IDocument doc = ProjectUtils.getConsoleMsgByProcessConsole(consoleName);
if(doc == null){
return false;
}
String consolelMsgStr = doc.get();
if(consolelMsgStr == null || consolelMsgStr.length() ==0){
return false;
}
//开始遍历每一行。查找问题
int totalLine = doc.getNumberOfLines();
for(int i = 0;i<totalLine;i++){
IRegion region= doc.getLineInformation(i);
String liniter= doc.get(region.getOffset(), region.getLength());
if(StringUtils.contains(liniter, "ERROR")){
return true;
}
}
return false;
}
问题解决。问题想复杂了,花了我一天多的时间。细细分析其实很简单。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐