I have been looking at log4r for a project that involves a multithreaded web application. The log4r docs recommend one logger per class. Does that mean in each class I have to create a @log variable to hold a reference to the logger? Can't I just have a $log variable, or will multiple threads collide? I really like the look of the local log statement, log.warn "Oh, no!" but it looks like I'll have to use @log.warn or $log.warn. And that reminds me of a thread question. Are mutexes needed only for writing? In other words, if I have a hit counter that's being incremented, @hits, and the only thing changing the value is one method in the class in which @hits lives, is it OK to have a show_hits method that returns @hits or does it have to be mutexed?