public String getAttrValue(final String keyVal) {
        if (TStringUtils.isBlank(keyVal)) {
            throw new IllegalArgumentException("keyVal's value is blank!");
        }
        if (TStringUtils.isBlank(this.attribute)) {
            return null;
        }
        String[] strAttrs = this.attribute.split(TokenConstants.ARRAY_SEP);
        for (String strAttrItem : strAttrs) {
            if (TStringUtils.isNotBlank(strAttrItem)) {
                String[] strItems = strAttrItem.split(TokenConstants.EQ);
                if (strItems.length > 1 && !TStringUtils.isBlank(strItems[0])) {
                    if (keyVal.equals(strItems[0])) {
                        return strItems[1];
                    }
                }
            }
        }
        return null;
    }
Get key's value from attribute by key name

@param keyVal   the key name
@return  the key's value of the key name stored in attribute
inlong-tubemq/tubemq-core/src/main/java/org/apache/inlong/tubemq/corebase/Message.java