add log predicate; add fail case