At 03:20 AM 10/2/2002 +0900, you wrote: >Wow, that is a much more clever and much more elegant solution by using >the "caller" method. > >May I push it a little bit further? What is the best way to put the log >in all the (or some selective) methods so that we don't have to write the >"log" calls in all those methods manually? Will aspect oriented >programming (aspectR) play a role in this? Check out the chapter on "Reflection, ObjectSpace and Distributed Ruby" in the Programming Ruby book. It talks about Retrieving a list of all methods loaded in the program and ways to 'alias' or rewrite methods dynamically.