public static String ensureValidLoggerName()

in sdk/core/azure-core-logging/src/main/java/com/azure/android/core/logging/implementation/LogUtils.java [53:91]


    public static String ensureValidLoggerName(String name) {
        if (name == null) {
            return null;
        } else {
            name = name.trim();
        }

        if (name.length() > TAG_MAX_LENGTH && Build.VERSION.SDK_INT <= 25) {
            final StringTokenizer st = new StringTokenizer(name, ".");

            if (st.hasMoreTokens()) { // Note that empty tokens are skipped, i.e., "aa..bb" has tokens "aa", "bb".
                final StringBuilder sb = new StringBuilder();
                String token;

                do {
                    token = st.nextToken();
                    if (token.length() == 1) { // Token of one character appended as is.
                        sb.append(token);
                        sb.append('.');
                    } else if (st.hasMoreTokens()) { // Truncate all but the last token.
                        sb.append(token.charAt(0));
                        sb.append("*.");
                    } else { // Last token (usually class name) appended as is.
                        sb.append(token);
                    }
                } while (st.hasMoreTokens());

                name = sb.toString();
            }

            // Either we had no useful dot location at all or name still too long.
            // Take leading part and append '*' to indicate that it was truncated.
            if (name.length() > TAG_MAX_LENGTH) {
                name = name.substring(0, TAG_MAX_LENGTH - 1) + '*';
            }
        }

        return name;
    }