I am looking at how to do flow tracing in the Scala API I am working on.

It is a bit tricky since a lot of the logic is in AbstractLogger which I
have no access to.

(Quick Scala intro: types goes after variables/methods/parameters,

Unit is like void in Java, AnyRef is like Object in Java, the * is varargs)


class Logger(val delegate: ExtendedLogger) {

  // other stuff...
  def traceEntry(): EntryMessage = delegate.traceEntry()

  def traceEntry(params: AnyRef*): EntryMessage =
delegate.traceEntry(null, params)

  def traceEntry(message: Message): EntryMessage = delegate.traceEntry(message)

  def traceExit[R](result: R): R = delegate.traceExit(result)

  def traceExit(): Unit = delegate.traceExit()

  def traceExit(entryMessage: EntryMessage): Unit =
delegate.traceExit(entryMessage)

  def traceExit[R](entryMessage: EntryMessage, result: R): R =
delegate.traceExit(entryMessage, result)

  def traceExit[R](message: Message, result: R): R =
delegate.traceExit(message, result)

}


-- 
[image: MagineTV]

*Mikael Ståldal*
Senior software developer

*Magine TV*
mikael.stal...@magine.com
Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com

Privileged and/or Confidential Information may be contained in this
message. If you are not the addressee indicated in this message
(or responsible for delivery of the message to such a person), you may not
copy or deliver this message to anyone. In such case,
you should destroy this message and kindly notify the sender by reply
email.

Reply via email to