Redirect grep error/result to file

I'm having trouble piping grep results/error to a file. Why can't I redirect these messages into a file?

$ grep -r -o "pattern" * > log
   Binary file foo1 matches
   Binary file foo2 matches
   Binary file foo3 matches
   Binary file foo4 matches

The log is created, but remains empty.

---------- Post updated at 05:02 PM ---------- Previous update was at 04:53 PM ----------

$ find * -exec grep -Hn "pattern" {} \; > log

It may be printing them to stderr. I don't understand why it'd do that either, but if so, you can just do 2> logfile