add generic GetLogger<T>()