diff --git a/src/medbase/data/augmentations.py b/src/medbase/data/augmentations.py
index fcf8887d06b23bdf7f4f187651e9041b43d5b38e..ff3f438e6f411d508a92643efdf1e0840b5a9391 100644
--- a/src/medbase/data/augmentations.py
+++ b/src/medbase/data/augmentations.py
@@ -22,7 +22,7 @@ import numpy.typing
 import torch
 from scipy.ndimage import gaussian_filter, map_coordinates
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet.medbase")
 
 
 def _elastic_deformation_on_image(
diff --git a/src/medbase/data/datamodule.py b/src/medbase/data/datamodule.py
index ff627d0397f753a40ff3ee811a3286f96cd457eb..1d6c14ebd084b583985bd3a2eb59791a4c2743dd 100644
--- a/src/medbase/data/datamodule.py
+++ b/src/medbase/data/datamodule.py
@@ -27,7 +27,7 @@ from .typing import (
     TransformSequence,
 )
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet.medbase")
 
 
 def _sample_size_bytes(s: Sample) -> int:
diff --git a/src/medbase/data/split.py b/src/medbase/data/split.py
index 0bcdf300850cff67c5e596245d3ba53b59f47d9c..3b412d9673d45535d314bca32b825e173a9d0cfe 100644
--- a/src/medbase/data/split.py
+++ b/src/medbase/data/split.py
@@ -14,7 +14,7 @@ import torch
 
 from medbase.data.typing import DatabaseSplit, RawDataLoader
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet.medbase")
 
 
 class JSONDatabaseSplit(DatabaseSplit):
diff --git a/src/medbase/engine/callbacks.py b/src/medbase/engine/callbacks.py
index 3d108a8d2c372478d7792de8d65a4b21e2ce3428..bd4755eb221b43f9405307e6d4b6a928315a77c8 100644
--- a/src/medbase/engine/callbacks.py
+++ b/src/medbase/engine/callbacks.py
@@ -13,7 +13,7 @@ import torch
 
 from ..utils.resources import ResourceMonitor, aggregate
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet.medbase")
 
 
 class LoggingCallback(lightning.pytorch.Callback):
diff --git a/src/medbase/engine/device.py b/src/medbase/engine/device.py
index 4375cbb3f03318d2507f0e33a7dac0ef2b626fef..851b053953ecc1b8f5c99e5fc4481aa8e91c4cce 100644
--- a/src/medbase/engine/device.py
+++ b/src/medbase/engine/device.py
@@ -9,7 +9,7 @@ import typing
 import torch
 import torch.backends
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet.medbase")
 
 
 SupportedPytorchDevice: typing.TypeAlias = typing.Literal[
diff --git a/src/medbase/engine/trainer.py b/src/medbase/engine/trainer.py
index 5d3f2a0de703aa97faa055b2c269d1e3b816eba1..79b509fe51ec883eb3d64994eba64d029285578e 100644
--- a/src/medbase/engine/trainer.py
+++ b/src/medbase/engine/trainer.py
@@ -15,7 +15,7 @@ from ..utils.resources import ResourceMonitor
 from .callbacks import LoggingCallback
 from .device import DeviceManager
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet.medbase")
 
 
 def run(
diff --git a/src/medbase/utils/checkpointer.py b/src/medbase/utils/checkpointer.py
index 19450a13c81d45d7ce58a61e7c05deae48db6413..44e61da870201b1483a92d214e7e5bcb1dc7b8ec 100644
--- a/src/medbase/utils/checkpointer.py
+++ b/src/medbase/utils/checkpointer.py
@@ -7,7 +7,7 @@ import pathlib
 import re
 import typing
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet.medbase")
 
 
 CHECKPOINT_ALIASES = {
diff --git a/src/medbase/utils/resources.py b/src/medbase/utils/resources.py
index 5816771157435564113721bd44f6619ffc780ebb..645bf76a0c0429ba172025ca9ce304bb340129ae 100644
--- a/src/medbase/utils/resources.py
+++ b/src/medbase/utils/resources.py
@@ -20,7 +20,7 @@ import psutil
 
 from medbase.engine.device import SupportedPytorchDevice
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet")
 
 _nvidia_smi = shutil.which("nvidia-smi")
 """Location of the nvidia-smi program, if one exists."""
diff --git a/src/mednet/engine/evaluator.py b/src/mednet/engine/evaluator.py
index acbf79b3fcdd9db808a6ee28e6ded77c42d887fb..598fb3b8f20759ec2e6d917acbb27661f9b93ce7 100644
--- a/src/mednet/engine/evaluator.py
+++ b/src/mednet/engine/evaluator.py
@@ -20,7 +20,7 @@ from matplotlib import pyplot as plt
 
 from ..models.typing import BinaryPrediction
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet")
 
 
 def eer_threshold(predictions: Iterable[BinaryPrediction]) -> float:
diff --git a/src/mednet/engine/predictor.py b/src/mednet/engine/predictor.py
index fce844a17151cd23e0271d34e162dd7b652c9a5b..5a5b3545a6a296c1901ac2245b57d72f61b744e3 100644
--- a/src/mednet/engine/predictor.py
+++ b/src/mednet/engine/predictor.py
@@ -6,7 +6,6 @@ import logging
 
 import lightning.pytorch
 import torch.utils.data
-
 from medbase.engine.device import DeviceManager
 
 from ..models.typing import (
@@ -16,7 +15,7 @@ from ..models.typing import (
     MultiClassPredictionSplit,
 )
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet")
 
 
 def run(
diff --git a/src/mednet/engine/saliency/completeness.py b/src/mednet/engine/saliency/completeness.py
index 7c3cb3c624e1965508c243051c602080632acde0..84327ad4a81f544630c4f73d18f30842ebdfb714 100644
--- a/src/mednet/engine/saliency/completeness.py
+++ b/src/mednet/engine/saliency/completeness.py
@@ -11,18 +11,17 @@ import lightning.pytorch
 import numpy as np
 import torch
 import tqdm
+from medbase.data.typing import Sample
+from medbase.engine.device import DeviceManager
 from pytorch_grad_cam.metrics.road import (
     ROADLeastRelevantFirstAverage,
     ROADMostRelevantFirstAverage,
 )
 from pytorch_grad_cam.utils.model_targets import ClassifierOutputTarget
 
-from medbase.data.typing import Sample
-from medbase.engine.device import DeviceManager
-
 from ...models.typing import SaliencyMapAlgorithm
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet")
 
 
 class SigmoidClassifierOutputTarget(torch.nn.Module):
diff --git a/src/mednet/engine/saliency/generator.py b/src/mednet/engine/saliency/generator.py
index f440eb086088686ef722b99323bdd62bae16f238..ddad6ce7129f0cd0dd3bfa7b44d64dfe8c7551f4 100644
--- a/src/mednet/engine/saliency/generator.py
+++ b/src/mednet/engine/saliency/generator.py
@@ -11,12 +11,11 @@ import numpy
 import torch
 import torch.nn
 import tqdm
-
 from medbase.engine.device import DeviceManager
 
 from ...models.typing import SaliencyMapAlgorithm
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet")
 
 
 def _create_saliency_map_callable(
diff --git a/src/mednet/engine/saliency/interpretability.py b/src/mednet/engine/saliency/interpretability.py
index 54c72a4298b4dd8ad68a3c388d78b922da6595ae..621aa9d6138fc2fb6dcd2c85d2faf0eb8e502fb3 100644
--- a/src/mednet/engine/saliency/interpretability.py
+++ b/src/mednet/engine/saliency/interpretability.py
@@ -16,7 +16,7 @@ from tqdm import tqdm
 
 from ...config.data.tbx11k.datamodule import BoundingBox, BoundingBoxes
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet")
 
 SaliencyMap: typing.TypeAlias = (
     typing.Sequence[typing.Sequence[float]] | numpy.typing.NDArray[numpy.double]
diff --git a/src/mednet/engine/saliency/viewer.py b/src/mednet/engine/saliency/viewer.py
index d969aa91ef6b959133a095d059a97dae69ffbf4f..588ba70ccf4584db6026de5cb88423321c2184f8 100644
--- a/src/mednet/engine/saliency/viewer.py
+++ b/src/mednet/engine/saliency/viewer.py
@@ -17,7 +17,7 @@ from tqdm import tqdm
 
 from ...config.data.tbx11k.datamodule import BoundingBox, BoundingBoxes
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet")
 
 
 def _overlay_saliency_map(
diff --git a/src/mednet/models/alexnet.py b/src/mednet/models/alexnet.py
index 22c415471b50adf4c684130d8b692679189181f7..5c686de328355a01c1d9caebef227cfaf9518542 100644
--- a/src/mednet/models/alexnet.py
+++ b/src/mednet/models/alexnet.py
@@ -11,13 +11,12 @@ import torch.optim.optimizer
 import torch.utils.data
 import torchvision.models as models
 import torchvision.transforms
-
 from medbase.data.typing import TransformSequence
 from .model import Model
 from .separate import separate
 from .transforms import RGB, SquareCenterPad
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet")
 
 
 class Alexnet(Model):
diff --git a/src/mednet/models/densenet.py b/src/mednet/models/densenet.py
index 3feb2adebff2611ac6848088fb3df32c81e8d7d2..e9433b994b5373f997ea9f880519e115bf75db94 100644
--- a/src/mednet/models/densenet.py
+++ b/src/mednet/models/densenet.py
@@ -11,13 +11,12 @@ import torch.optim.optimizer
 import torch.utils.data
 import torchvision.models as models
 import torchvision.transforms
-
 from medbase.data.typing import TransformSequence
 from .model import Model
 from .separate import separate
 from .transforms import RGB, SquareCenterPad
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet")
 
 
 class Densenet(Model):
diff --git a/src/mednet/models/loss_weights.py b/src/mednet/models/loss_weights.py
index 382a7ae5123c44fdd91a4eebe2c9d93d7c17e805..2264a44da1c9ebacf3a3eef193a23b62706fc3e2 100644
--- a/src/mednet/models/loss_weights.py
+++ b/src/mednet/models/loss_weights.py
@@ -8,10 +8,9 @@ from collections import Counter
 
 import torch
 import torch.utils.data
-
 from medbase.data.typing import DataLoader
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet")
 
 
 def compute_binary_weights(targets):
diff --git a/src/mednet/models/pasa.py b/src/mednet/models/pasa.py
index 0e1d24f15973e374539a8eff7e370ff6f2aa602a..f6e83d83f0aa85fc7fd37dd8ce2551a823001e4a 100644
--- a/src/mednet/models/pasa.py
+++ b/src/mednet/models/pasa.py
@@ -11,13 +11,12 @@ import torch.nn.functional as F  # noqa: N812
 import torch.optim.optimizer
 import torch.utils.data
 import torchvision.transforms
-
 from medbase.data.typing import TransformSequence
 from .model import Model
 from .separate import separate
 from .transforms import Grayscale, SquareCenterPad
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet")
 
 
 class Pasa(Model):
diff --git a/src/mednet/scripts/train.py b/src/mednet/scripts/train.py
index df8b1fec1c9e9b150d6932b489fdd39ada63377c..2fd63221fda89033cb87d46dea16e89a302f6d98 100644
--- a/src/mednet/scripts/train.py
+++ b/src/mednet/scripts/train.py
@@ -12,7 +12,8 @@ from clapper.logging import setup
 
 from .click import ConfigCommand
 
-logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s")
+# logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s")
+logger = setup("mednet", format="%(levelname)s: %(message)s")
 
 
 def reusable_options(f):
@@ -271,7 +272,6 @@ def train(
 
     import torch
     from lightning.pytorch import seed_everything
-
     from medbase.engine.device import DeviceManager
     from medbase.engine.trainer import run
     from medbase.utils.checkpointer import get_checkpoint_to_resume_training
diff --git a/src/mednet/scripts/utils.py b/src/mednet/scripts/utils.py
index 4c894bd708c0db4a4ce464dcd243b90c0a774b3f..164f46b4831fd6b82e42d8507441d65ea7805614 100644
--- a/src/mednet/scripts/utils.py
+++ b/src/mednet/scripts/utils.py
@@ -14,7 +14,7 @@ import lightning.pytorch.callbacks
 import torch.nn
 from medbase.engine.device import SupportedPytorchDevice
 
-logger = logging.getLogger(__name__)
+logger = logging.getLogger("mednet")
 
 
 def model_summary(