Я слушаю тему Кафки и получаю сообщения, сравниваю их с объектом и затем пытаюсь разобрать сообщение.Я получаю несколько сообщений об одном поиске, и я просто пытаюсь получить этот
userName:User.Name userId:FDF3JH4 session:9cf2-21-c6-28-c360f1edba53 searchString:test, searchType:DEFAULT_SEARCH
, и это то, что я хочу, мой
LogPattern должен быть String logPattern = ".*(userName:)(\\S+)\\s(userId:)(\\S+)\\s(session:)(\\S+)\\s(searchString:)([^,]).*";
if (isValidObject) {
final Pattern p = Pattern.compile(logPattern);
Matcher matcher = p.matcher(historyRequest.getLog());
if (!matcher.matches()) {
return;
}
Я настроил тестовую функцию, чтобы убедиться, что полученное сообщение и мой шаблон верны, но когда я помещаю его в реальную функцию, он не работает.Он не дает результатов для String logPattern = ".*";
Но странно то, что, возившись с шаблонами журналов, я смог получить совпадение сообщения kafka с этим шаблоном журнала и этим журналом:
String logPattern = ".*[userName]\\:(\\S+)\\s\\w+:(\\S+)(\\s\\S+\\s\\w+\\:)([^,]+).*";
userName:User.Name userId:D394H4 session:3f1da-0c-fb-90-949a searchString:"test" took:13.0 page:1 resultSize:1 sponsored:false