Skip to main content

Convenience of configuration and logging.

Project description

Yirgachefe

A library for the convenience of configuring environment variables, configuration files, and logger.

Prerequisite

  • Python 3.9.x or higher

Quick start

The configuration file format is JSON, and the default location is [CWD]/configure.json.

  • CWD: Current working directory (you can get it with 'os.getcwd()')

Example configure.json

{
  "API_PORT": 8100,
  "STORAGE_ID": "storage_1"
}

Example Code

from yirgachefe import config, logger

logger.debug(config['API_PORT'])
logger.info(config.API_PORT)

config['NEW'] = 'new value'
config.NEW2 = 'new value2'

Custom Usage

Default configure.json.

  • This value is set internally and is used even if the file doesn't exist.
  • You can use the changed value by explicitly setting it in the file.
{
  "debug": true,
  "log_level": "DEBUG",
  "log_format": "%(asctime)s,%(msecs)03d %(process)d %(thread)d %(levelname)s %(filename)s(%(lineno)d) %(message)s",
  "log_path": "Yirgachefe.log",
  "log_when": "d",
  "log_interval": 1,
  "log_backup_count": 5
}
  • debug: Set stream handler to logging with coloredlog.
  • log_level: Log level for logging.
  • log_format: Log format for logging.
  • log_path: Write a file log if present (optional)

Optional configuration for RotatingFileHandler.

  • yirgachefe supports time-based log file rotating.
  • Each option is as follows.
  • Rotating works when all values are present.
{
  "log_when": "d",
  "log_interval": 1,
  "log_backup_count": 10
}
  • log_when: rotating unit s | m | h | d | w0-w6 (see. 'logging.handler')
  • log_interval: rotating period
  • log_backup_count: log backup count.

Make and Save configure.json

  • After creating an empty config class, you can set the config value and save it as a file.
from yirgachefe import Config

config = Config()
config.NEW = 'new value'
config.write_config()

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

yirgachefe-0.1.6.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

yirgachefe-0.1.6-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file yirgachefe-0.1.6.tar.gz.

File metadata

  • Download URL: yirgachefe-0.1.6.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for yirgachefe-0.1.6.tar.gz
Algorithm Hash digest
SHA256 c6b121d6bd93ce1df44ec224d574029b1c054dcae13c0479546a93f9bf5e34fe
MD5 621df19a51bef4a9875f12d5982aa2bd
BLAKE2b-256 d1bb42ae4f75ff8f0274d48b14d9b9df407389971b152a20575d422d88a211b1

See more details on using hashes here.

File details

Details for the file yirgachefe-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: yirgachefe-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for yirgachefe-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 679f5facd179f7afaf98719a67ce9db97e3682b34a2cbfd5e9f628130b936889
MD5 b48225a6be5921133d0bfd150a9e2039
BLAKE2b-256 bf82f7d8a5f1cba1439a718fede99f7e0d2250940f558f2b0522846d3f5eb6df

See more details on using hashes here.

Supported by

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