Skip to main content

SciLogger - Logging for Scientific Applications

Project description

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

Project details


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.

Supported by

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