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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6b121d6bd93ce1df44ec224d574029b1c054dcae13c0479546a93f9bf5e34fe |
|
MD5 | 621df19a51bef4a9875f12d5982aa2bd |
|
BLAKE2b-256 | d1bb42ae4f75ff8f0274d48b14d9b9df407389971b152a20575d422d88a211b1 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 679f5facd179f7afaf98719a67ce9db97e3682b34a2cbfd5e9f628130b936889 |
|
MD5 | b48225a6be5921133d0bfd150a9e2039 |
|
BLAKE2b-256 | bf82f7d8a5f1cba1439a718fede99f7e0d2250940f558f2b0522846d3f5eb6df |