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