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*
[email protected]
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.