Apart from not quoting words that contain filename globbing characters, you also have inverted the sense of all `-name` tests, resulting in pruning the names that do _not_ match these names and patterns from the search tree.
Instead:
find /app/test -type d \
\( -name 'logs*' -o -name log -o -name 'tmp*' -o -name tmp \) -prune -o \
-print | tee /tmp/findall.log
The `-prune` test would, without `-print`, still print out pathnames of things matching up to that point.