On Dec 11, 2005, at 2:52 AM, cap wrote:

> Both of them has a class named "Logger"
>
> I used to include Log4r in my code so I can use Logger as a  
> shortcut of
> Log4r::Logger .
> It works ok when useing "Logger[name]" to get logger
>
> Today I add the library "bluecloth" to my application. I found that
> when requiring bluecloth,BlueCloth required 'logger' in its
> "bluecloth.rb", So Ruby's internal Logger class overwrite the
> Log4r::Logger in context, and doing 'include Log4r' again didn't make
> the Logger turn back. The Logger is always ruby's internal Logger and
> mine "Logger[name]' can't execute now (maybe the priority of "include
> Log4r" is less than "require 'logger' ?")
>
> Is there any solution except replacing every "Logger" to
> "Log4r::Logger" in my code?

Sure, what about doing something like this:

# ...
require "bluecloth"
Logger = Log4r::Logger
# ...

James Edward Gray II