diff --git a/CHANGELOG.md b/CHANGELOG.md
index c55cb8e..89002dd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -30,6 +30,10 @@
 
 ## Unreleased
 
+### Added
+
+- You can now specify custom log format and log level in `dakara_base.config.create_logger` with arguments `custom_log_format` and `custom_log_level`.
+
 ## 1.1.0 - 2019-09-16
 
 ### Added
diff --git a/src/dakara_base/config.py b/src/dakara_base/config.py
index 49d0e69..8f7aa4d 100644
--- a/src/dakara_base/config.py
+++ b/src/dakara_base/config.py
@@ -85,20 +85,24 @@ def load_config(config_path, debug, mandatory_keys=None):
     return config
 
 
-def create_logger(wrap=False):
+def create_logger(wrap=False, custom_log_format=None, custom_log_level=None):
     """Create logger
 
     Args:
-        wrap (bool): If True, wrap the standard error stream for using logging
+        wrap (bool): if True, wrap the standard error stream for using logging
             and progress bar. You have to enable this flag if you use
             `progress_bar`.
+        custom_log_format (str): custom format string to use for logs.
+        custom_log_level (str): custom level of logging.
     """
     # wrap stderr on demand
     if wrap:
         progressbar.streams.wrap_stderr()
 
     # setup loggers
-    coloredlogs.install(fmt=LOG_FORMAT, level=LOG_LEVEL)
+    log_format = custom_log_format or LOG_FORMAT
+    log_level = custom_log_level or LOG_LEVEL
+    coloredlogs.install(fmt=log_format, level=log_level)
 
 
 def set_loglevel(config):

Allow to set log format and level
Currently, `dakara_base.config.create_logger` setups logger using a fixed log format string and log level. This format and level should be adjustable.
diff --git a/tests/test_config.py b/tests/test_config.py
index 61edc9e..a1e56e7 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -6,8 +6,6 @@ from yaml.parser import ParserError
 
 from dakara_base.config import (
     load_config,
-    LOG_FORMAT,
-    LOG_LEVEL,
     ConfigInvalidError,
     ConfigNotFoundError,
     ConfigParseError,
@@ -97,6 +95,8 @@ class LoadConfigTestCase(TestCase):
         )
 
 
+@patch("dakara_base.config.LOG_FORMAT", "my format")
+@patch("dakara_base.config.LOG_LEVEL", "my level")
 class CreateLoggerTestCase(TestCase):
     """Test the `create_logger` function
     """
@@ -110,7 +110,7 @@ class CreateLoggerTestCase(TestCase):
         create_logger()
 
         # assert the call
-        mocked_install.assert_called_with(fmt=LOG_FORMAT, level=LOG_LEVEL)
+        mocked_install.assert_called_with(fmt="my format", level="my level")
         mocked_wrap_stderr.assert_not_called()
 
     @patch("dakara_base.progress_bar.progressbar.streams.wrap_stderr")
@@ -122,9 +122,25 @@ class CreateLoggerTestCase(TestCase):
         create_logger(wrap=True)
 
         # assert the call
-        mocked_install.assert_called_with(fmt=LOG_FORMAT, level=LOG_LEVEL)
+        mocked_install.assert_called_with(fmt="my format", level="my level")
         mocked_wrap_stderr.assert_called_with()
 
+    @patch("dakara_base.progress_bar.progressbar.streams.wrap_stderr")
+    @patch("dakara_base.config.coloredlogs.install", autospec=True)
+    def test_custom(self, mocked_install, mocked_wrap_stderr):
+        """Test to call the method with custom format and level
+        """
+        # call the method
+        create_logger(
+            custom_log_format="my custom format", custom_log_level="my custom level"
+        )
+
+        # assert the call
+        mocked_install.assert_called_with(
+            fmt="my custom format", level="my custom level"
+        )
+        mocked_wrap_stderr.assert_not_called()
+
 
 class SetLoglevelTestCase(TestCase):
     """Test the `set_loglevel` function

pip install -e .[tests]
parse_log_pytest
requirements.txt
pytest black flake8
pip install --upgrade "setuptools>=40.0"
3.6
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==22.2.0
black==22.8.0
certifi==2021.5.30
chardet==3.0.4
click==8.0.4
codecov==2.1.13
coloredlogs==10.0
coverage==6.2
-e git+https://github.com/DakaraProject/dakara-base.git@ad366e6c53babfe7de856e17ae59063bd7545932#egg=dakarabase
dataclasses==0.8
flake8==5.0.4
furl==2.0.0
humanfriendly==10.0
idna==2.8
importlib-metadata==4.2.0
iniconfig==1.1.1
mccabe==0.7.0
mypy-extensions==1.0.0
orderedmultidict==1.0.1
packaging==21.3
path.py==12.0.2
pathspec==0.9.0
platformdirs==2.4.0
pluggy==1.0.0
progressbar2==3.43.1
py==1.11.0
pycodestyle==2.9.1
pyflakes==2.5.0
pyparsing==3.1.4
pytest==7.0.1
python-utils==3.5.2
PyYAML==5.1.2
requests==2.22.0
six==1.17.0
tomli==1.2.3
typed-ast==1.5.5
typing_extensions==4.1.1
urllib3==1.25.11
websocket-client==0.56.0
zipp==3.6.0

name: dakara-base
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=21.2.2=py36h06a4308_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==22.2.0
      - black==22.8.0
      - chardet==3.0.4
      - click==8.0.4
      - codecov==2.1.13
      - coloredlogs==10.0
      - coverage==6.2
      - dataclasses==0.8
      - flake8==5.0.4
      - furl==2.0.0
      - humanfriendly==10.0
      - idna==2.8
      - importlib-metadata==4.2.0
      - iniconfig==1.1.1
      - mccabe==0.7.0
      - mypy-extensions==1.0.0
      - orderedmultidict==1.0.1
      - packaging==21.3
      - path-py==12.0.2
      - pathspec==0.9.0
      - platformdirs==2.4.0
      - pluggy==1.0.0
      - progressbar2==3.43.1
      - py==1.11.0
      - pycodestyle==2.9.1
      - pyflakes==2.5.0
      - pyparsing==3.1.4
      - pytest==7.0.1
      - python-utils==3.5.2
      - pyyaml==5.1.2
      - requests==2.22.0
      - setuptools==59.6.0
      - six==1.17.0
      - tomli==1.2.3
      - typed-ast==1.5.5
      - typing-extensions==4.1.1
      - urllib3==1.25.11
      - websocket-client==0.56.0
      - zipp==3.6.0
prefix: /opt/conda/envs/dakara-base

tests/test_config.py::CreateLoggerTestCase::test_custom
tests/test_config.py::LoadConfigTestCase::test_fail_not_found tests/test_config.py::LoadConfigTestCase::test_load_config_fail_missing_keys tests/test_config.py::LoadConfigTestCase::test_load_config_fail_parser_error tests/test_config.py::LoadConfigTestCase::test_success tests/test_config.py::LoadConfigTestCase::test_success_debug tests/test_config.py::CreateLoggerTestCase::test_normal tests/test_config.py::CreateLoggerTestCase::test_wrap tests/test_config.py::SetLoglevelTestCase::test_configure_logger tests/test_config.py::SetLoglevelTestCase::test_configure_logger_no_level
src/dakara_base/config.py CHANGELOG.md
src/dakara_base/config.py CHANGELOG.md