On 15/02/10 7:46 PM, Jeppe Nejsum Madsen wrote:
On Mon, Feb 15, 2010 at 9:52 AM, Heiko Seeberger
<heiko.seeber...@googlemail.com>  wrote:
On 15 February 2010 09:45, Jeppe Nejsum Madsen<je...@ingolfs.dk>  wrote:

Even if (probably) not needed, we should try to name it the best
possible
way. Changing now causes no pain at all, but later ... you know.

Agreed. Suggestions?

I already made mine, just to make sure everyone has a chance to see them:
Like Iterable and Iterator lets call the trait that offers the logging
methods (info, warn, etc.) Logger and the trait that gives access to a
Logger should be called Loggable.

  I know, but before there was an extra (abstract) trait Logger which
was what I asked about :-). But this is a moot point now, it has been
eliminated and naming is now as you proposed above....

For convenience:
http://github.com/dpp/liftweb/blob/add01980aa81875617f38260d710e0558c7ae1b1/framework/lift-base/lift-common/src/main/scala/net/liftweb/common/Logging.scala

One issue remains, which I don't know how to handle (if possible at
all): The current mixins use the dynamic type of an instance to
determine the logger name. This may not always be the preferred way.
E.g:

trait PaymentSystem extends Logger
trait FullfillmentSystem extends Logger

object MyStore extends PaymentSystem with FullfillmentSystem with Logger

Now everything in the subsystems will be logged with the MyStore
logger which is not how I would like to see it. The only solution I've
found so far is to not use the mixins and create private loggers in
the subsystem, where the static type is known. E.g. val logger =
Logger(classOf[PaymentSystem])

But this kind of restricts the usage of the mixins. Any thoughts on
this issue is appreciated....

The restriction might be worthwhile in this case for the sake of predictability. Having class/object specific logger is to be able to filter in/out the logs (via configuration) at deployment time. It should not be too sensitive to minor rearrangement of mixins in the code.

Would it be overcomplicated to make the Logger trait typed?



/Jeppe


--
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to lift...@googlegroups.com.
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en.

Reply via email to