Skip to main content

Create and configure a logger using a global configuration file.

Project description

SystemLogger

..image:: https://pyup.io/repos/github/d9pouces/SystemLogger/shield.svg :target: https://pyup.io/repos/github/d9pouces/SystemLogger/ :alt: Updates

Create and configure a logger using a global configuration file. This module is intended for logging my Python system scripts, without redeclaring a lot of boilerplate. This module is not meant to be highly customizable, but to have the same logging configuration in scripts with a minimal effort.

The default configuration file is /etc/python_logging.ini.

Usage

python3 -m pip install systemlogger
cat << EOF | sudo tee /etc/python_logging.ini
[logging]
sentry_dsn = https://username@sentry.example.com/1
loki_url = https://username:password@localhost:3100/loki/api/v1/push
syslog_url = tcp://127.0.0.1:514
# only udp:// and tcp:// protocols can be used for syslog
logfile_directory = /tmp
# the filename will be /tmp/{application}.log
logfile_max_size = 1000000
# if max_size is not set (or is 0), the file will never be rotated
logfile_backup_count = 3
# number of backup files (for example, only /tmp/{application}.log.1 is created if logfile_backup_count == 1)
console = true
# errors and above are sent to stderr, infos and below are sent to stdout
level = info
# minimal level of transmitted log records
source = python
# added as "log_source" tag in sentry and loki
hostname = $(hostname)
# added as "hostname" tag in sentry and loki
requests_ca_bundle = /etc/ssl/certs/ca-certificates.crt
# path to the CA bundle for requests
EOF
python3 -c 'from systemlogger import getLogger ; logger = getLogger(name="demo") ; logger.warning("log warning test") ; logger.error("log error test")'

In Grafana/Loki and in Sentry, you can now select all Python scripts with the log_source tag and a specific script with the application tag.

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

systemlogger-0.2.2.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

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

systemlogger-0.2.2-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file systemlogger-0.2.2.tar.gz.

File metadata

  • Download URL: systemlogger-0.2.2.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.13.1 Darwin/24.3.0

File hashes

Hashes for systemlogger-0.2.2.tar.gz
Algorithm Hash digest
SHA256 42ec571ea7c514d92ceae064d164018bdd7f24aa2a24d06a9b79b3188e910508
MD5 1d30c4a8af4ce45f2303be32886e3d57
BLAKE2b-256 5747467673982e7169e0d6991c436366afe092e6eb0d7ee07ddcd0e4777803ae

See more details on using hashes here.

File details

Details for the file systemlogger-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: systemlogger-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.13.1 Darwin/24.3.0

File hashes

Hashes for systemlogger-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 863daf6944cc2276907f7f479a43e87d484650a7343e958817229f029b69904a
MD5 a2a0b2a86a82692ff77acd72d5526709
BLAKE2b-256 dbf894a9658ab1264274a60baa6d198060de574418610e3d8d88c2dc594a4b65

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