Using SNAP command - how to force messaging to log file?

That’s one of bash quirks. You can not redirect after 2>&1. Look,

$ snap list junk
error: no matching snaps installed

$ snap list junk 2>&1 > snap_err.txt
error: no matching snaps installed

#N.B. text remains on screen, not redirected

$ cat snap_err.txt

#N.B. yes, no content, file's empty

$ snap list junk  > snap_err.txt 2>&1

#N.B. no text on screen, it's redirected

$ cat snap_err.txt
error: no matching snaps installed

#N.B. yes, text is redirected into file

$