I got the following stack trace when I tried to run chef-solr.
The error is raised when I run the following command. (I know it's non-standard and not reproducible, but bear with me.)
The important part is that I ran chef-solr on a TTY and not as a daemon, which is reminiscent of a previous ticket. After some digging, I found that STDOUT was closed by this line of code (1), and the subsequent line triggers the error (2). This led me to these lines (#close triggers #method_missing) and finally these lines. Notice that all of the conditions are satisfied, and hence an STDOUT Logger is appended to the Logger list, which eventually brings us back to the stack trace from (1) followed by (2).
I've developed a quick and dirty solution here, which is to modify the STDOUT Logger's metaclass to have a no-op #close method. Another hack is to pipe the result of chef-solr invocation to a file, thus failing the conditional and not creating an STDOUT logger in the first place.