I use Vagrant to spawn a standard \"precise32\" box and provision it with Chef so I can test my Node.js code on Linux when I work on a Windows machine. This works fine.
Kind of related... setting the log_location (-L) to a file prevents the chef logs (Chef::Log.info() or simply log) from going to standard out.
log_location
-L
Chef::Log.info()
log
You can override this to print the full log information to stdout
chef-client -L /dev/stdout