diff --git a/slf4j-android/src/main/java/org/slf4j/impl/AndroidLoggerFactory.java b/slf4j-android/src/main/java/org/slf4j/impl/AndroidLoggerFactory.java index 577db86dd..69cc56348 100755 --- a/slf4j-android/src/main/java/org/slf4j/impl/AndroidLoggerFactory.java +++ b/slf4j-android/src/main/java/org/slf4j/impl/AndroidLoggerFactory.java @@ -60,26 +60,26 @@ public AndroidLogger getLogger(final String name) final String tag = forceValidName(name); // fix for bug #173 AndroidLogger logger = loggerMap.get(tag); - if (logger != null) return logger; + if (logger != null) return logger; - logger = new AndroidLogger(tag); - AndroidLogger loggerPutBefore = loggerMap.putIfAbsent(tag, logger); - if (null == loggerPutBefore) - { - if (!tag.equals(name) && Log.isLoggable(AndroidLoggerFactory.class.getSimpleName(), Log.WARN)) - { - Log.i(AndroidLoggerFactory.class.getSimpleName(), new StringBuilder("SLF4J Logger name '") - .append(name) - .append("' exceeds maximum length of ") - .append(TAG_MAX_LENGTH) - .append(" characters; using '") - .append(tag) - .append("' as the Android Log tag instead.") - .toString()); - } - return logger; - } - return loggerPutBefore; + logger = new AndroidLogger(tag); + AndroidLogger loggerPutBefore = loggerMap.putIfAbsent(tag, logger); + if (null == loggerPutBefore) + { + if (!tag.equals(name) && Log.isLoggable(AndroidLoggerFactory.class.getSimpleName(), Log.WARN)) + { + Log.i(AndroidLoggerFactory.class.getSimpleName(), new StringBuilder("SLF4J Logger name '") + .append(name) + .append("' exceeds maximum length of ") + .append(TAG_MAX_LENGTH) + .append(" characters; using '") + .append(tag) + .append("' as the Android Log tag instead.") + .toString()); + } + return logger; + } + return loggerPutBefore; } /** @@ -100,17 +100,20 @@ private final String forceValidName(String name) 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("*."); + sb.append('*'); } else // last token (usually class name) appended as is { sb.append(token); } + if (st.hasMoreTokens()) + { + sb.append('.'); + } } while (st.hasMoreTokens()); name = sb.toString();