logging assembly discovery

#1562
nit: These should be OR'd rather than elsed.

A class can be abstract and none public.