Loads the default dispatcher to be used for all loggers that do
not specify an alternate dispatcher. The default dispatcher may be defined by any jar that provides an object
with the correct name (org.scalawag.timber.backend.DefaultDispatcher) of the correct type
(org.scalawag.timber.api.Dispatcher). This object is not provided by timber-api.jar and is loaded
through reflection.
This DefaultDispatcherLoader will search first the thread's context ClassLoader, then the ClassLoader that loaded
the timber API and, finally, the system ClassLoader. The first one that can load the object will have the honor.
Once the ClassLoader has been selected, the loader ensures that exactly one object with that name is available
on its classpath. It is an error for more than one default dispatcher (with the name above) to exist. In this
case, a RuntimeException will be thrown when the timber system initializes and logging will not be possible.
If no class loader from the above sequence can locate the default dispatcher object, a RuntimeException will be
thrown when the timber system initializes and logging will not be possible.
For normal use, all that should be required is to select exactly one jar with a default timber dispatcher and
put it on the classpath.
Loads the default dispatcher to be used for all loggers that do not specify an alternate dispatcher. The default dispatcher may be defined by any jar that provides an object with the correct name (org.scalawag.timber.backend.DefaultDispatcher) of the correct type (org.scalawag.timber.api.Dispatcher). This object is not provided by timber-api.jar and is loaded through reflection.
This DefaultDispatcherLoader will search first the thread's context ClassLoader, then the ClassLoader that loaded the timber API and, finally, the system ClassLoader. The first one that can load the object will have the honor. Once the ClassLoader has been selected, the loader ensures that exactly one object with that name is available on its classpath. It is an error for more than one default dispatcher (with the name above) to exist. In this case, a RuntimeException will be thrown when the timber system initializes and logging will not be possible.
If no class loader from the above sequence can locate the default dispatcher object, a RuntimeException will be thrown when the timber system initializes and logging will not be possible.
For normal use, all that should be required is to select exactly one jar with a default timber dispatcher and put it on the classpath.