01: package org.incava.qualog;
02:
03: import java.util.*;
04:
05: /**
06: * A filter for logging statements from a class. Unlike <code>QlFilter</code>,
07: * the class under consideration is checked that it is assignable from the
08: * filter class, that is, it is of the same class, or is a superclass.
09: *
10: * @see QlFilter
11: */
12: public class QlClassFilter extends QlFilter {
13: private Class cls;
14:
15: public QlClassFilter(Class cls, QlLevel level) {
16: super (level);
17:
18: this .cls = cls;
19: }
20:
21: /**
22: * Returns whether the given parameters should be enabled for logging. By
23: * default, this returns true.
24: */
25: public boolean isMatch(String fileName, int lineNumber,
26: String className, String methodName) {
27: try {
28: Class cls = Class.forName(className);
29: return this .cls.isAssignableFrom(cls);
30: } catch (ClassNotFoundException cnfe) {
31: return false;
32: }
33: }
34:
35: }
|