Skip to content

Commit cd07dc4

Browse files
authored
Log enum class name and name (#4923)
* Log enum class name and name * Null check
1 parent eea64a5 commit cd07dc4

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/foam/core/logger/Loggers.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
package foam.core.logger;
88

99
import foam.lang.X;
10+
import foam.util.SafetyUtil;
11+
1012
import java.util.Arrays;
1113
import java.util.ArrayList;
1214
import java.util.List;
@@ -44,7 +46,17 @@ public static Logger logger(X x, Object caller, boolean includeSubject, String..
4446

4547
List<String> p = new ArrayList();
4648
if ( caller != null ) {
47-
p.add(caller.getClass().getSimpleName());
49+
Class<?> callerClass = caller.getClass();
50+
while ( SafetyUtil.isEmpty(callerClass.getSimpleName()) ) {
51+
if ( callerClass.getEnclosingClass() == null )
52+
break;
53+
54+
callerClass = callerClass.getEnclosingClass();
55+
}
56+
String callerName = callerClass.getSimpleName();
57+
if ( caller instanceof Enum<?> e ) callerName += "." + e.name();
58+
59+
p.add(callerName);
4860
}
4961
if ( prefixes != null ) {
5062
p.addAll(Arrays.asList(prefixes));

0 commit comments

Comments
 (0)