diff --git a/arkindex_tasks/__init__.py b/arkindex_tasks/__init__.py
index 1188dbc502c14987725b2b230727bd0a861c5c99..167ee9810b023d7842fe6ea04bb57d5cd119ff96 100644
--- a/arkindex_tasks/__init__.py
+++ b/arkindex_tasks/__init__.py
@@ -1,10 +1,14 @@
 # -*- coding: utf-8 -*-
+import logging
 import pathlib
 
 from arkindex import ArkindexClient, options_from_env
 
 default_client = ArkindexClient(**options_from_env())
 
+logging.basicConfig(
+    format="[%(asctime)s] [%(levelname)s] %(message)s", level=logging.INFO
+)
 
 # Read shared VERSION and expose it to Python internals
 __version__ = (pathlib.Path(__file__).parent / "VERSION").read_text().strip()
diff --git a/arkindex_tasks/base.py b/arkindex_tasks/base.py
index e7904402b5b3d700ede4800c91e74f602657e66a..d096311d67bbc0da7ebe00e3c1c630bcd16585ec 100644
--- a/arkindex_tasks/base.py
+++ b/arkindex_tasks/base.py
@@ -12,7 +12,6 @@ from arkindex_tasks import default_client
 from arkindex_tasks.enums import ProcessMode
 from arkindex_tasks.utils import download_file
 
-logging.basicConfig(format="[%(levelname)s] %(message)s", level=logging.INFO)
 logger = logging.getLogger(__name__)
 
 WORKER_RUN_ID = os.environ.get("ARKINDEX_WORKER_RUN_ID")
diff --git a/arkindex_tasks/build_worker_version.py b/arkindex_tasks/build_worker_version.py
index 0c6d40079524a57b9e2a3145e33508504755f18b..cdb4633abcc3b511c3ad54435330e9487f965c1e 100644
--- a/arkindex_tasks/build_worker_version.py
+++ b/arkindex_tasks/build_worker_version.py
@@ -20,7 +20,6 @@ from apistar.exceptions import ErrorResponse
 from arkindex_tasks import default_client
 from arkindex_tasks.git import clone_repository
 
-logging.basicConfig(format="[%(levelname)s] %(message)s", level=logging.INFO)
 logger = logging.getLogger(__name__)
 cli = docker.APIClient(
     base_url=os.environ.get("DOCKER_HOST", "unix://var/run/docker.sock")
diff --git a/arkindex_tasks/generate_thumbnails.py b/arkindex_tasks/generate_thumbnails.py
index dbc4a4fe37b455ff1a37a2938370603ed8d5d5dd..ba76b2858cdbd788e1b7273b75fdcbcc48e9d6a5 100644
--- a/arkindex_tasks/generate_thumbnails.py
+++ b/arkindex_tasks/generate_thumbnails.py
@@ -14,7 +14,6 @@ from tenacity import retry, retry_if_exception_type, stop_after_attempt, wait_fi
 
 from arkindex_tasks import default_client
 
-logging.basicConfig(format="[%(levelname)s] %(message)s", level=logging.INFO)
 logger = logging.getLogger(__name__)
 
 
diff --git a/arkindex_tasks/git.py b/arkindex_tasks/git.py
index 449bc9bc0fdd2c3117cab8e04a3944ecad2f67a7..24c265806bda270965f6a0b33d56362f1f625d8b 100644
--- a/arkindex_tasks/git.py
+++ b/arkindex_tasks/git.py
@@ -4,7 +4,6 @@ import os
 import subprocess
 import tempfile
 
-logging.basicConfig(format="[%(levelname)s] %(message)s", level=logging.INFO)
 logger = logging.getLogger(__name__)
 
 
diff --git a/arkindex_tasks/import_files/transkribus.py b/arkindex_tasks/import_files/transkribus.py
index 52e4731841d9491dbfb77a608e3beadbb6c377c8..baffb68f45223510896caf314935cd9442da9f32 100644
--- a/arkindex_tasks/import_files/transkribus.py
+++ b/arkindex_tasks/import_files/transkribus.py
@@ -20,7 +20,6 @@ from arkindex_tasks.base import WORKER_RUN_ID, dump_json
 from arkindex_tasks.import_files.pagexml import PageXmlParser
 from arkindex_tasks.utils import default_client, retried_request
 
-logging.basicConfig(format="[%(levelname)s] %(message)s", level=logging.INFO)
 logger = logging.getLogger(__name__)
 
 
diff --git a/arkindex_tasks/import_git/__main__.py b/arkindex_tasks/import_git/__main__.py
index 5d92db65bdfda02127a78801161aca7b402173b7..6f6a8b447e7e7812e3267be5a92509ee35db0a85 100644
--- a/arkindex_tasks/import_git/__main__.py
+++ b/arkindex_tasks/import_git/__main__.py
@@ -7,7 +7,6 @@ import uuid
 from arkindex_tasks import default_client
 from arkindex_tasks.import_git.base import GitImportTask
 
-logging.basicConfig(format="[%(levelname)s] %(message)s", level=logging.INFO)
 logger = logging.getLogger(__name__)
 
 
diff --git a/arkindex_tasks/import_git/base.py b/arkindex_tasks/import_git/base.py
index 19c762232fea31baa70dd804503da6777b1ce12b..595a547615728669d3fe706b95e9865975f68ab6 100644
--- a/arkindex_tasks/import_git/base.py
+++ b/arkindex_tasks/import_git/base.py
@@ -12,7 +12,6 @@ from arkindex_tasks.git import clone_repository
 from arkindex_tasks.import_git.parser import configuration_parser
 from arkindex_tasks.import_git.worker import GitWorkerImport
 
-logging.basicConfig(format="[%(levelname)s] %(message)s", level=logging.INFO)
 logger = logging.getLogger(__name__)
 
 # Minimum .arkindex.yml version that causes the Git import to do nothing
diff --git a/arkindex_tasks/import_git/worker.py b/arkindex_tasks/import_git/worker.py
index a78dec8f402ebc4d01ca14f29455e97eca3d51e6..32ffd24165c0416df33d8994d4fce5be309b4647 100644
--- a/arkindex_tasks/import_git/worker.py
+++ b/arkindex_tasks/import_git/worker.py
@@ -9,7 +9,6 @@ from apistar.exceptions import ErrorResponse
 
 from arkindex_tasks import __version__, default_client
 
-logging.basicConfig(format="[%(levelname)s] %(message)s", level=logging.INFO)
 logger = logging.getLogger(__name__)
 
 
diff --git a/arkindex_tasks/import_iiif/parser.py b/arkindex_tasks/import_iiif/parser.py
index 7b2fdde5c2e5b79356c6be158e82ba3fa7aa129b..dc9fef1912eaec1da48a62fbde2bb8a6cdc53390 100644
--- a/arkindex_tasks/import_iiif/parser.py
+++ b/arkindex_tasks/import_iiif/parser.py
@@ -14,9 +14,6 @@ from arkindex_tasks.base import WORKER_RUN_ID
 from arkindex_tasks.enums import MetaType
 from arkindex_tasks.utils import retried_request
 
-logging.basicConfig(
-    format="%(asctime)s [%(levelname)s] %(message)s", level=logging.INFO
-)
 logger = logging.getLogger(__name__)
 
 # Timeout for the info.json request on images
diff --git a/arkindex_tasks/import_s3/__main__.py b/arkindex_tasks/import_s3/__main__.py
index 17582b19d96ceff147f6d34af9feda9405b5edff..27231153d7d4ab1a10cc311ab53c3ef0827405d3 100644
--- a/arkindex_tasks/import_s3/__main__.py
+++ b/arkindex_tasks/import_s3/__main__.py
@@ -7,7 +7,6 @@ import uuid
 from arkindex_tasks import default_client
 from arkindex_tasks.import_s3.worker import S3Import
 
-logging.basicConfig(format="[%(levelname)s] %(message)s", level=logging.INFO)
 logger = logging.getLogger(__name__)
 
 
diff --git a/arkindex_tasks/import_s3/worker.py b/arkindex_tasks/import_s3/worker.py
index ef56d37804e890b9af6354f9750aad52e44d7a9c..027d9aedfefa20db6b7551f32be06760f5ea56dd 100644
--- a/arkindex_tasks/import_s3/worker.py
+++ b/arkindex_tasks/import_s3/worker.py
@@ -18,7 +18,6 @@ from arkindex_tasks.import_s3.graph import PATH_DELIMITER, Node
 from arkindex_tasks.utils import retried_request
 from botocore.exceptions import ClientError
 
-logging.basicConfig(format="[%(levelname)s] %(message)s", level=logging.INFO)
 logger = logging.getLogger(__name__)
 
 
diff --git a/arkindex_tasks/init_elements.py b/arkindex_tasks/init_elements.py
index 87758dba01bf7a83b92af675c68674e295b3dbac..432139a69bc99be65fd6b59682580e77c3fd4c1a 100644
--- a/arkindex_tasks/init_elements.py
+++ b/arkindex_tasks/init_elements.py
@@ -15,7 +15,6 @@ from time import sleep
 from arkindex_tasks import default_client
 from arkindex_tasks.base import dump_json, split_chunks
 
-logging.basicConfig(format="[%(levelname)s] %(message)s", level=logging.INFO)
 logger = logging.getLogger(__name__)
 
 
diff --git a/arkindex_tasks/utils.py b/arkindex_tasks/utils.py
index 04701083ccc60677f57ce5256857351205e4f1e2..becd8afb73023d54356af30dfd178b99bd8d1662 100644
--- a/arkindex_tasks/utils.py
+++ b/arkindex_tasks/utils.py
@@ -16,7 +16,6 @@ from tenacity import (
 
 from arkindex_tasks import default_client
 
-logging.basicConfig(format="[%(levelname)s] %(message)s", level=logging.INFO)
 logger = logging.getLogger(__name__)
 
 DOWNLOAD_CHUNK_SIZE = 8192