Use ActorRef.address as SL4FJ logger name. Fixes #1153
* The address might not be perfect, since it is an uuid by default, but it's better than static akka.actor.LocalActorRef * Similar fix in StandardOutLogger
This commit is contained in:
parent
c064aee89e
commit
40a887dcba
2 changed files with 18 additions and 8 deletions
|
|
@ -242,7 +242,7 @@ object EventHandler extends ListenerManagement {
|
|||
println(errorFormat.format(
|
||||
timestamp,
|
||||
event.thread.getName,
|
||||
event.instance.getClass.getSimpleName,
|
||||
instanceName(event.instance),
|
||||
event.message,
|
||||
stackTraceFor(event.cause)))
|
||||
|
||||
|
|
@ -250,25 +250,30 @@ object EventHandler extends ListenerManagement {
|
|||
println(warningFormat.format(
|
||||
timestamp,
|
||||
event.thread.getName,
|
||||
event.instance.getClass.getSimpleName,
|
||||
instanceName(event.instance),
|
||||
event.message))
|
||||
|
||||
def info(event: Info) =
|
||||
println(infoFormat.format(
|
||||
timestamp,
|
||||
event.thread.getName,
|
||||
event.instance.getClass.getSimpleName,
|
||||
instanceName(event.instance),
|
||||
event.message))
|
||||
|
||||
def debug(event: Debug) =
|
||||
println(debugFormat.format(
|
||||
timestamp,
|
||||
event.thread.getName,
|
||||
event.instance.getClass.getSimpleName,
|
||||
instanceName(event.instance),
|
||||
event.message))
|
||||
|
||||
def generic(event: Any) =
|
||||
println(genericFormat.format(timestamp, event.toString))
|
||||
|
||||
def instanceName(instance: AnyRef): String = instance match {
|
||||
case a: ActorRef ⇒ a.address
|
||||
case _ ⇒ instance.getClass.getSimpleName
|
||||
}
|
||||
}
|
||||
|
||||
class DefaultListener extends Actor with StandardOutLogger {
|
||||
|
|
|
|||
|
|
@ -36,14 +36,19 @@ class Slf4jEventHandler extends Actor with Logging {
|
|||
|
||||
def receive = {
|
||||
case Error(cause, instance, message) ⇒
|
||||
Logger(instance.getClass.getName).error(String.valueOf(message), cause)
|
||||
logger(instance).error(String.valueOf(message), cause)
|
||||
case Warning(instance, message) ⇒
|
||||
Logger(instance.getClass.getName).warn(String.valueOf(message))
|
||||
logger(instance).warn(String.valueOf(message))
|
||||
case Info(instance, message) ⇒
|
||||
Logger(instance.getClass.getName).info(String.valueOf(message))
|
||||
logger(instance).info(String.valueOf(message))
|
||||
case Debug(instance, message) ⇒
|
||||
Logger(instance.getClass.getName).debug(String.valueOf(message))
|
||||
logger(instance).debug(String.valueOf(message))
|
||||
case event ⇒ log.debug("[{}]", event.toString)
|
||||
}
|
||||
|
||||
def logger(instance: AnyRef): SLFLogger = instance match {
|
||||
case a: ActorRef ⇒ Logger(a.address)
|
||||
case _ ⇒ Logger(instance.getClass)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue