diff --git a/akka-actor/src/main/scala/akka/actor/ActorRefProvider.scala b/akka-actor/src/main/scala/akka/actor/ActorRefProvider.scala index a5ea5bf39a..2303112177 100644 --- a/akka-actor/src/main/scala/akka/actor/ActorRefProvider.scala +++ b/akka-actor/src/main/scala/akka/actor/ActorRefProvider.scala @@ -458,7 +458,7 @@ private[akka] class LocalActorRefProvider private[akka] ( override val rootPath: ActorPath = RootActorPath(Address("akka", _systemName)) - private[akka] val log: LoggingAdapter = Logging(eventStream, "LocalActorRefProvider(" + rootPath.address + ")") + private[akka] val log: LoggingAdapter = Logging(eventStream, getClass.getName + "(" + rootPath.address + ")") override val deadLetters: InternalActorRef = _deadLetters.getOrElse((p: ActorPath) ⇒ new DeadLetterActorRef(this, p, eventStream)).apply(rootPath / "deadLetters") diff --git a/akka-actor/src/main/scala/akka/actor/ActorSystem.scala b/akka-actor/src/main/scala/akka/actor/ActorSystem.scala index 7d9d600e91..dda19f0e3a 100644 --- a/akka-actor/src/main/scala/akka/actor/ActorSystem.scala +++ b/akka-actor/src/main/scala/akka/actor/ActorSystem.scala @@ -603,7 +603,7 @@ private[akka] class ActorSystemImpl(val name: String, applicationConfig: Config, dynamicAccess.createInstanceFor[LoggingFilter](LoggingFilter, arguments).get } - val log: LoggingAdapter = new BusLogging(eventStream, "ActorSystem(" + name + ")", this.getClass, logFilter) + val log: LoggingAdapter = new BusLogging(eventStream, getClass.getName + "(" + name + ")", this.getClass, logFilter) val scheduler: Scheduler = createScheduler() diff --git a/akka-actor/src/main/scala/akka/io/Tcp.scala b/akka-actor/src/main/scala/akka/io/Tcp.scala index 286832ec3b..d9cc16ae77 100644 --- a/akka-actor/src/main/scala/akka/io/Tcp.scala +++ b/akka-actor/src/main/scala/akka/io/Tcp.scala @@ -548,7 +548,7 @@ class TcpExt(system: ExtendedActorSystem) extends IO.Extension { val WindowsConnectionAbortWorkaroundEnabled: Boolean = getString("windows-connection-abort-workaround-enabled") match { case "auto" ⇒ Helpers.isWindows - case _ => getBoolean("windows-connection-abort-workaround-enabled") + case _ ⇒ getBoolean("windows-connection-abort-workaround-enabled") } private[this] def getIntBytes(path: String): Int = { diff --git a/akka-camel/src/main/scala/akka/camel/internal/DefaultCamel.scala b/akka-camel/src/main/scala/akka/camel/internal/DefaultCamel.scala index 22d4b88d66..3b515ff38f 100644 --- a/akka-camel/src/main/scala/akka/camel/internal/DefaultCamel.scala +++ b/akka-camel/src/main/scala/akka/camel/internal/DefaultCamel.scala @@ -28,7 +28,7 @@ import akka.actor.{ ExtendedActorSystem, ActorRef, Props } */ private[camel] class DefaultCamel(val system: ExtendedActorSystem) extends Camel { val supervisor = system.actorOf(Props[CamelSupervisor], "camel-supervisor") - private[camel] implicit val log = Logging(system, "Camel") + private[camel] implicit val log = Logging(system, getClass.getName) lazy val context: DefaultCamelContext = { val ctx = settings.ContextProvider.getContext(system) diff --git a/akka-cluster/src/main/scala/akka/cluster/Cluster.scala b/akka-cluster/src/main/scala/akka/cluster/Cluster.scala index 16ea5d6602..2d5c992477 100644 --- a/akka-cluster/src/main/scala/akka/cluster/Cluster.scala +++ b/akka-cluster/src/main/scala/akka/cluster/Cluster.scala @@ -97,7 +97,7 @@ class Cluster(val system: ExtendedActorSystem) extends Extension { scala.collection.JavaConverters.setAsJavaSetConverter(selfRoles).asJava private val _isTerminated = new AtomicBoolean(false) - private val log = Logging(system, "Cluster") + private val log = Logging(system, getClass.getName) // ClusterJmx is initialized as the last thing in the constructor private var clusterJmx: Option[ClusterJmx] = None diff --git a/akka-cluster/src/main/scala/akka/cluster/ClusterMetricsCollector.scala b/akka-cluster/src/main/scala/akka/cluster/ClusterMetricsCollector.scala index 3cc10bc815..73385c3a60 100644 --- a/akka-cluster/src/main/scala/akka/cluster/ClusterMetricsCollector.scala +++ b/akka-cluster/src/main/scala/akka/cluster/ClusterMetricsCollector.scala @@ -778,7 +778,7 @@ class SigarMetricsCollector(address: Address, decayFactor: Double, sigar: AnyRef private[cluster] object MetricsCollector { def apply(system: ExtendedActorSystem, settings: ClusterSettings): MetricsCollector = { import settings.{ MetricsCollectorClass ⇒ fqcn } - def log = Logging(system, "MetricsCollector") + def log = Logging(system, getClass.getName) if (fqcn == classOf[SigarMetricsCollector].getName) { Try(new SigarMetricsCollector(system)) match { case Success(sigarCollector) ⇒ sigarCollector diff --git a/akka-contrib/src/main/scala/akka/contrib/pattern/ClusterSharding.scala b/akka-contrib/src/main/scala/akka/contrib/pattern/ClusterSharding.scala index 5ff64f54b3..88ce17c12a 100644 --- a/akka-contrib/src/main/scala/akka/contrib/pattern/ClusterSharding.scala +++ b/akka-contrib/src/main/scala/akka/contrib/pattern/ClusterSharding.scala @@ -1386,11 +1386,11 @@ object ShardCoordinator { */ sealed trait CoordinatorMessage /** - * `ShardRegion` registers to `ShardCoordinator`, until it receives [[RegisterAck]]. + * `ShardRegion` registers to `ShardCoordinator`, until it receives [[RegisterAck]]. */ @SerialVersionUID(1L) final case class Register(shardRegion: ActorRef) extends CoordinatorCommand /** - * `ShardRegion` in proxy only mode registers to `ShardCoordinator`, until it receives [[RegisterAck]]. + * `ShardRegion` in proxy only mode registers to `ShardCoordinator`, until it receives [[RegisterAck]]. */ @SerialVersionUID(1L) final case class RegisterProxy(shardRegionProxy: ActorRef) extends CoordinatorCommand /** diff --git a/akka-docs/rst/project/migration-guide-2.3.x-2.4.x.rst b/akka-docs/rst/project/migration-guide-2.3.x-2.4.x.rst index 6b7068e38d..19f45cfd78 100644 --- a/akka-docs/rst/project/migration-guide-2.3.x-2.4.x.rst +++ b/akka-docs/rst/project/migration-guide-2.3.x-2.4.x.rst @@ -131,3 +131,12 @@ In order to make cluster routers smarter about when they can start local routees ``nrOfInstances`` defined on ``Pool`` now takes ``ActorSystem`` as an argument. In case you have implemented a custom Pool you will have to update the method's signature, however the implementation can remain the same if you don't need to rely on an ActorSystem in your logic. + +Logger names use full class name +================================ +Previously, few places in akka used "simple" logger names, such as ``Cluster`` or ``Remoting``. +Now they use full class names, such as ``akka.cluster.Cluster`` or ``akka.remote.Remoting``, +in order to allow package level log level definitions and ease source code lookup. +In case you used specific "simple" logger name based rules in your ``logback.xml`` configurations, +please change them to reflect appropriate package name, such as +```` or ```` diff --git a/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Conductor.scala b/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Conductor.scala index c73fdbf247..ed0290c24c 100644 --- a/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Conductor.scala +++ b/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Conductor.scala @@ -389,7 +389,7 @@ private[akka] class Controller(private var initialParticipants: Int, controllerP val settings = TestConductor().Settings val connection = RemoteConnection(Server, controllerPort, settings.ServerSocketWorkerPoolSize, - new ConductorHandler(settings.QueryTimeout, self, Logging(context.system, "ConductorHandler"))) + new ConductorHandler(settings.QueryTimeout, self, Logging(context.system, classOf[ConductorHandler].getName))) /* * Supervision of the BarrierCoordinator means to catch all his bad emotions diff --git a/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Player.scala b/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Player.scala index e947a8e7be..6e81c91372 100644 --- a/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Player.scala +++ b/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Player.scala @@ -151,7 +151,7 @@ private[akka] class ClientFSM(name: RoleName, controllerAddr: InetSocketAddress) val settings = TestConductor().Settings val handler = new PlayerHandler(controllerAddr, settings.ClientReconnects, settings.ReconnectBackoff, - settings.ClientSocketWorkerPoolSize, self, Logging(context.system, "PlayerHandler"), + settings.ClientSocketWorkerPoolSize, self, Logging(context.system, classOf[PlayerHandler].getName), context.system.scheduler)(context.dispatcher) startWith(Connecting, Data(None, None)) diff --git a/akka-remote/src/main/scala/akka/remote/RemoteActorRefProvider.scala b/akka-remote/src/main/scala/akka/remote/RemoteActorRefProvider.scala index 0ed665220f..93d32c6bf9 100644 --- a/akka-remote/src/main/scala/akka/remote/RemoteActorRefProvider.scala +++ b/akka-remote/src/main/scala/akka/remote/RemoteActorRefProvider.scala @@ -178,7 +178,7 @@ private[akka] class RemoteActorRefProvider( _internals = internals remotingTerminator ! internals - _log = Logging(eventStream, "RemoteActorRefProvider") + _log = Logging(eventStream, getClass.getName) // this enables reception of remote requests transport.start() diff --git a/akka-remote/src/main/scala/akka/remote/Remoting.scala b/akka-remote/src/main/scala/akka/remote/Remoting.scala index 85a51d13aa..e4d9e2c97f 100644 --- a/akka-remote/src/main/scala/akka/remote/Remoting.scala +++ b/akka-remote/src/main/scala/akka/remote/Remoting.scala @@ -129,7 +129,7 @@ private[remote] class Remoting(_system: ExtendedActorSystem, _provider: RemoteAc override def localAddressForRemote(remote: Address): Address = Remoting.localAddressForRemote(transportMapping, remote) - val log: LoggingAdapter = Logging(system.eventStream, "Remoting") + val log: LoggingAdapter = Logging(system.eventStream, getClass.getName) val eventPublisher = new EventPublisher(system, log, RemoteLifecycleEventsLogLevel) private def notifyError(msg: String, cause: Throwable): Unit = diff --git a/akka-remote/src/main/scala/akka/remote/transport/FailureInjectorTransportAdapter.scala b/akka-remote/src/main/scala/akka/remote/transport/FailureInjectorTransportAdapter.scala index 0e29a4ff58..216df21c90 100644 --- a/akka-remote/src/main/scala/akka/remote/transport/FailureInjectorTransportAdapter.scala +++ b/akka-remote/src/main/scala/akka/remote/transport/FailureInjectorTransportAdapter.scala @@ -57,7 +57,7 @@ private[remote] class FailureInjectorTransportAdapter(wrappedTransport: Transpor extends AbstractTransportAdapter(wrappedTransport)(extendedSystem.dispatcher) with AssociationEventListener { private def rng = ThreadLocalRandom.current() - private val log = Logging(extendedSystem, "FailureInjector (gremlin)") + private val log = Logging(extendedSystem, getClass.getName) private val shouldDebugLog: Boolean = extendedSystem.settings.config.getBoolean("akka.remote.gremlin.debug") @volatile private var upstreamListener: Option[AssociationEventListener] = None diff --git a/akka-testkit/src/main/scala/akka/testkit/CallingThreadDispatcher.scala b/akka-testkit/src/main/scala/akka/testkit/CallingThreadDispatcher.scala index eaa80fd6e7..16ca6e605f 100644 --- a/akka-testkit/src/main/scala/akka/testkit/CallingThreadDispatcher.scala +++ b/akka-testkit/src/main/scala/akka/testkit/CallingThreadDispatcher.scala @@ -130,7 +130,7 @@ class CallingThreadDispatcher(_configurator: MessageDispatcherConfigurator) exte import CallingThreadDispatcher._ import configurator.prerequisites._ - val log = akka.event.Logging(eventStream, "CallingThreadDispatcher") + val log = akka.event.Logging(eventStream, getClass.getName) override def id: String = Id