ClassFilter输出更详细日志

This commit is contained in:
Redkale
2018-08-23 19:54:47 +08:00
parent d053590257
commit 620fa0430c

View File

@@ -136,10 +136,11 @@ public final class ClassFilter<T> {
* *
* @param property AnyValue * @param property AnyValue
* @param clazzname String * @param clazzname String
* @param url URL
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public final void filter(AnyValue property, String clazzname) { public final void filter(AnyValue property, String clazzname, URL url) {
filter(property, clazzname, true); filter(property, clazzname, true, url);
} }
/** /**
@@ -150,6 +151,18 @@ public final class ClassFilter<T> {
* @param autoscan 为true表示自动扫描的 false表示显著调用filter AutoLoad的注解将被忽略 * @param autoscan 为true表示自动扫描的 false表示显著调用filter AutoLoad的注解将被忽略
*/ */
public final void filter(AnyValue property, String clazzname, boolean autoscan) { public final void filter(AnyValue property, String clazzname, boolean autoscan) {
filter(property, clazzname, autoscan, null);
}
/**
* 过滤指定的class
*
* @param property application.xml中对应class节点下的property属性项
* @param clazzname class名称
* @param autoscan 为true表示自动扫描的 false表示显著调用filter AutoLoad的注解将被忽略
* @param url URL
*/
public final void filter(AnyValue property, String clazzname, boolean autoscan, URL url) {
boolean r = accept0(property, clazzname); boolean r = accept0(property, clazzname);
ClassFilter cf = r ? this : null; ClassFilter cf = r ? this : null;
if (r && ands != null) { if (r && ands != null) {
@@ -192,7 +205,7 @@ public final class ClassFilter<T> {
if (finest && !clazzname.startsWith("sun.") && !clazzname.startsWith("javax.") if (finest && !clazzname.startsWith("sun.") && !clazzname.startsWith("javax.")
&& !clazzname.startsWith("com.sun.") && !clazzname.startsWith("jdk.") && !clazzname.startsWith("META-INF") && !clazzname.startsWith("com.sun.") && !clazzname.startsWith("jdk.") && !clazzname.startsWith("META-INF")
&& (!(cfe instanceof NoClassDefFoundError) || ((NoClassDefFoundError) cfe).getMessage().startsWith("java.lang.NoClassDefFoundError: java"))) { && (!(cfe instanceof NoClassDefFoundError) || ((NoClassDefFoundError) cfe).getMessage().startsWith("java.lang.NoClassDefFoundError: java"))) {
logger.log(Level.FINEST, ClassFilter.class.getSimpleName() + " filter error for class: " + clazzname, cfe); logger.log(Level.FINEST, ClassFilter.class.getSimpleName() + " filter error for class: " + clazzname + (url == null ? "" : (" in " + url)), cfe);
} }
} }
} }
@@ -504,7 +517,7 @@ public final class ClassFilter<T> {
classes.add(classname); classes.add(classname);
if (debug) debugstr.append(classname).append("\r\n"); if (debug) debugstr.append(classname).append("\r\n");
for (final ClassFilter filter : filters) { for (final ClassFilter filter : filters) {
if (filter != null) filter.filter(null, classname); if (filter != null) filter.filter(null, classname, url);
} }
} }
} }
@@ -513,7 +526,7 @@ public final class ClassFilter<T> {
} else { } else {
for (String classname : classes) { for (String classname : classes) {
for (final ClassFilter filter : filters) { for (final ClassFilter filter : filters) {
if (filter != null) filter.filter(null, classname); if (filter != null) filter.filter(null, classname, url);
} }
} }
} }
@@ -532,14 +545,14 @@ public final class ClassFilter<T> {
classes.add(classname); classes.add(classname);
if (debug) debugstr.append(classname).append("\r\n"); if (debug) debugstr.append(classname).append("\r\n");
for (final ClassFilter filter : filters) { for (final ClassFilter filter : filters) {
if (filter != null) filter.filter(null, classname); if (filter != null) filter.filter(null, classname, url);
} }
} }
cache.put(url, classes); cache.put(url, classes);
} else { } else {
for (String classname : classes) { for (String classname : classes) {
for (final ClassFilter filter : filters) { for (final ClassFilter filter : filters) {
if (filter != null) filter.filter(null, classname); if (filter != null) filter.filter(null, classname, url);
} }
} }
} }