So I have a play application with sub-modules like this:

```
/app  // play app
/modules/notifications

```

Inside my play app I have a task module that starts up my main actor:

```
Logger.debug("starting main supervisor actor Iot")
val supervisor = system.actorOf(IotSupervisor.props(), "iot-supervisor")

```

inside of notifications I have this file:

**/modules/notifications/src/main/supervisor.scala**

```
package com.example.notifications

import akka.actor.{ Actor, ActorLogging, Props }

object IotSupervisor {
  def props(): Props = Props(new IotSupervisor)
}

class IotSupervisor extends Actor with ActorLogging {
  log.debug("Iot constrcutor called..")
  override def preStart(): Unit = log.info("IoT Application started")
  override def postStop(): Unit = log.info("IoT Application stopped")

  // No need to handle any messages
  override def receive = Actor.emptyBehavior

}

```

I can see logs in my console:

> 
> [debug] application - starting main supervisor actor Iot [info]
>  p.a.h.EnabledFilters - Enabled Filters (see
>  <https://www.playframework.com/documentation/latest/Filters>):
> 
> 
> 
> ```
> play.filters.csrf.CSRFFilter
> play.filters.headers.SecurityHeadersFilter
> 
> ```
> 
> [info] play.api.Play - Application started (Dev)
> 
> 
> 

My logback.xml looks like:

```
<!-- https://www.playframework.com/documentation/latest/SettingsLogger -->
<configuration>

  <conversionRule conversionWord="coloredLevel" converterClass="play.api.libs.logback.ColoredLevel" />

  <!--<appender name="FILE" class="ch.qos.logback.core.FileAppender">-->
    <!--<file>${application.home:-.}/logs/application.log</file>-->
    <!--<encoder>-->
      <!--<pattern>%date [%level] from %logger in %thread - %message%n%xException</pattern>-->
    <!--</encoder>-->
  <!--</appender>-->

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%coloredLevel %logger{15} - %message%n%xException{10}</pattern>
    </encoder>
  </appender>

  <!--<appender name="ASYNCFILE" class="ch.qos.logback.classic.AsyncAppender">-->
    <!--<appender-ref ref="FILE" />-->
  <!--</appender>-->

  <appender name="ASYNCSTDOUT" class="ch.qos.logback.classic.AsyncAppender">
    <appender-ref ref="STDOUT" />
  </appender>

  <logger name="play" level="INFO" />
  <logger name="application" level="DEBUG" />
  <logger name="com.example.notifications" LEVEL="TRACE" />

  <!-- Off these ones as they are annoying, and anyway we manage configuration ourselves -->
  <logger name="com.avaje.ebean.config.PropertyMapLoader" level="OFF" />
  <logger name="com.avaje.ebeaninternal.server.core.XmlConfigLoader" level="OFF" />
  <logger name="com.avaje.ebeaninternal.server.lib.BackgroundThread" level="OFF" />
  <logger name="com.gargoylesoftware.htmlunit.javascript" level="OFF" />

  <root level="WARN">
    <!--<appender-ref ref="ASYNCFILE" />-->
    <appender-ref ref="ASYNCSTDOUT" />
  </root>

</configuration>

```

I do not see any log messages from inside my actors, unless I use **log.error**, why is that?

I set the level to TRACE for com.example.notifications

Am I correct in understanding that whenever I use a logger, it will use the logger defined in logback that matches the package name? i.e. com.example.notification will be used to lookup the logger in my logback.xml and use the LEVEL defined there?