Skip to main content

SciLogger - Logging for Scientific Applications

Summary

SciLogger is a Python Logging module:

  • Specially targeted for scientific applications.
  • Use a global timer to measure the elapsed time.
  • Provide a class for timing code blocks.
  • Definition of custom indentation levels.
  • Definition of colors for the logging levels.

SciLogger is using a global INI configuration file:

  • First, the default configuration is loaded (scilogger/scilogger.ini).
  • Afterward, a custom file can be loaded with an environment variable (SCILOGGER)

SciLogger is written in Python without any external dependencies. SciLogger is respecting semantic versioning (starting from version 1.2).

Warning

  • This logging module is based on the Python logging module.
  • The philosophy of this logging module is slightly different.
  • Mixing both modules can create strange/incorrect behaviors.

Example

An example is located in the example folder of the repository:

  • run_logger.py contains an example file for the logger
  • configlogger.ini contains a custom configuration file
# Set the configuration file.
export SCILOGGER="configlocal.ini"

# Run the Python script.
python run_logger.py
00:00:00.00 : main     : debug    : debug level log
00:00:00.10 : main     : info     : info level log
00:00:00.20 : main     : error    : error level log
00:00:00.20 : main     : info     : example for the timed blocks : enter : 00:00:00.00
00:00:00.20 : main     : info     :     info level log
00:00:00.30 : main     : info     :     info level log
00:00:00.30 : main     : info     : example for the timed blocks : exit : 00:00:00.10
00:00:00.30 : main     : info     : example for the indented blocks : enter
00:00:00.30 : main     : info     :     info level log
00:00:00.40 : main     : info     :     info level log
00:00:00.40 : main     : info     : example for the indented blocks : exit
00:00:00.40 : main     : error    : exception : builtins / ValueError
00:00:00.40 : main     : error    :     Traceback (most recent call last):
00:00:00.40 : main     : error    :       File "run_logger.py", line 44, in <module>
00:00:00.40 : main     : error    :         raise ValueError("example for the exceptions")
00:00:00.40 : main     : error    :     ValueError: example for the exceptions
00:00:00.41 : mod_a    : info     : module_a
00:00:00.41 : mod_a    : debug    :     debug level log
00:00:00.41 : mod_a    : info     :     info level log
00:00:00.41 : mod_a    : error    :     error level log
00:00:00.41 : mod_b    : info     : module_b
00:00:00.41 : mod_b    : debug    :     debug level log
00:00:00.41 : mod_b    : info     :     info level log
00:00:00.41 : mod_b    : error    :     error level log
00:00:00.41 : main     : info     : timing data
00:00:00.41 : main     : info     :     date = 2025-01-10T18:00:10Z
00:00:00.41 : main     : info     :     duration = 00:00:00.41
00:00:00.41 : main     : info     :     seconds = 0.409

Project Links

Author

Copyright

(c) 2023 - Thomas Guillod

BSD 2-Clause "Simplified" License

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scilogger-1.2.5.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scilogger-1.2.5-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file scilogger-1.2.5.tar.gz.

File metadata

  • Download URL: scilogger-1.2.5.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for scilogger-1.2.5.tar.gz
Algorithm Hash digest
SHA256 3bfe61c0bd2bcb1101f5540b4782a5defa6ebc1d09262d6df52a9a6a7e6aca29
MD5 ddd8876f7e9130fc0ca2fafa6cacda4c
BLAKE2b-256 8f9da0bef0274ef8739583096486652d8c4640c65345f4c2dae47a014a3a19fe

See more details on using hashes here.

File details

Details for the file scilogger-1.2.5-py3-none-any.whl.

File metadata

  • Download URL: scilogger-1.2.5-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for scilogger-1.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 76ea3c52121da2961631daf78db6ff18ced940273e57f2db2a749a54ff4309d1
MD5 db155f818e623d0763527aca9bb11788
BLAKE2b-256 013495155ccc4caf488a7e7354fbfef0ccc02b9735deb283b3eaffd55456c95f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.2.5 This release

2 files

1.2.4

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page