Skip to main content

No project description provided

Project description

Efk-log

Quick start

Called from where the project was launched.

Install

pip install efk-log==0.31 : no trace-code pip install efk-log==0.5.0 : add trace-code

En

  1. Logs in json format are easily collected in es and can be easily indexed on top of kibana for related fields.

  2. Note that it is important to avoid index value conflicts, as different value types for the same index name can cause conflicts.

  3. Use the supervisor to guard the service processes started by gunicorn when starting a multi-process service, in conjunction with the supervisor's logging feature.

    1. file_path=None

    2. supervisor-related parameters are sliced to avoid large log files.

      stdout_logfile_maxbytes = 50MB   ; max # logfile bytes b4 rotation (default 50MB)
      stdout_logfile_backups = 10 ; # of stdout logfile backups (default 10)
      stdout_logfile = /data/logs/efk-log/efk-log.log
      

Zh

  1. json 格式的日志 方便收集到es中可方便对相关字段在kibana上面创建索引

  2. 需要注意的是,要避免索引值的冲突,相同的索引名,数值类型不同就会造成冲突

  3. 多进程启动 服务时候配合 supervisor 的日志功能使用,使用supervisor 守护gunicorn 启动的服务进程

    1. file_path=None

    2. supervisor 相关参数 进行切分,避免日志文件太大

      stdout_logfile_maxbytes = 50MB   ; max # logfile bytes b4 rotation (default 50MB)
      stdout_logfile_backups = 10 ; # of stdout logfile backups (default 10)
      stdout_logfile = /data/logs/efk-log/efk-log.log
      

Flask

LogJsonFormat(file_path=None, console=True, project='efk-log')

Celery

from celery.signals import setup_logging

@setup_logging.connect
def set_log(*args, **kwargs):
    LogJsonFormat(file_path=None, console=True, project='celery-prd')

Demo

from efk_log import LogJsonFormat

if __name__ == '__main__':
    LogJsonFormat(file_path=None, console=True, project='efk-log')

    import logging

    LOGGER = logging.getLogger(__name__)

    LOGGER.info('get user info', extra={'metrics': {
        'cid': 'xxxxxx'
    }})

    try:
        2 / 0
    except Exception as e:
        LOGGER.exception('except...', exc_info=e)

    LOGGER.error('error')

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

efk_log-1.0.1.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

efk_log-1.0.1-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file efk_log-1.0.1.tar.gz.

File metadata

  • Download URL: efk_log-1.0.1.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.9.6 Darwin/22.6.0

File hashes

Hashes for efk_log-1.0.1.tar.gz
Algorithm Hash digest
SHA256 65e20652c7356c7d47b479f68158057c9b48450343cd73184eeacb6f6c3c2a95
MD5 741093b0ee4eec1f627a60a1c12c0f10
BLAKE2b-256 58360a06a8af45c6d15347f3a8f0773dcdb3ac6d13d077c2a58168f210b6069c

See more details on using hashes here.

File details

Details for the file efk_log-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: efk_log-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.9.6 Darwin/22.6.0

File hashes

Hashes for efk_log-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c479d6a9f611ae54fa853d20021b393eb6bfb1ae1d6b55c6bd20eb31fa245f11
MD5 71abec1e2b9f3272773129ced39d6531
BLAKE2b-256 c92564d48b060bd85654d975374e9dac987c059cba9b1594e9e4072f59a40015

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