Вместо того, чтобы пытаться анализировать файл журнала, я бы изменил реализацию библиотеки, сделав что-то вроде этого:
class Parser {
private List<String> warnings = new ArrayList<>();
public Boolean hasWarnings() {
return warnings.size() > 0
}
public List<String> getWarnings() {
return warnings;
}
public Object parse(String xml) {
// parse the xml
if (needToIssueWarning) {
String msg = "warning!";
warnings.add(msg);
logger.warn(msg);
}
return parsedData;
}
}
и на сайте звонка:
private void run() {
Parser parser = new Parser();
parsedData = parse(xmlString);
if (parser.hasWarnings()) {
warnings = parser.getWarnings();
//do something with the warnings
}
}
Если вы захотите найти решение для анализа журнала, то не будет гарантии, что уровень журнала содержит предупреждения, возможно, он установлен на ошибку, и тогда вы пропустите сообщение