美文网首页
gunicorn fastapi uvicorn 配置文件记录

gunicorn fastapi uvicorn 配置文件记录

作者: leon_tly | 来源:发表于2024-04-21 11:35 被阅读0次

    配置代码

    import os
    import logging.config
    
    # 指定每个工作者的线程数
    workers = 4
    threads = 2
    # 监听内网端口5000
    bind = '0.0.0.0:8000'
    # 设置守护进程,将进程交给supervisor管理
    daemon = True 
    # 工作模式协程
    worker_class = 'uvicorn.workers.UvicornWorker'
    # 设置最大并发量
    worker_connections = 200
    # 设置进程文件目录
    pidfile = 'log/gunicorn.pid'
    
    timeout = 120
    
    capture_output = True
    
    loglevel = 'info'
    access_log_format = '%(t)s %(p)s %(h)s "%(r)s" %(s)s %(L)s %(b)s %(f)s" "%(a)s"'
    
    logconfig_dict = {
        'version':1,
        'disable_existing_loggers': False,
        "root": {"level": "INFO", "handlers": ["error_file", "access_file"]},
        'loggers':{
                "gunicorn.error": {
                            "level": "DEBUG",# 打日志的等级可以换的,下面的同理
                            "handlers": ["error_file"], # 对应下面的键
                            "propagate": 1,
                            "qualname": "gunicorn.error"
                        },
        
                "gunicorn.access": {
                            "level": "DEBUG",
                            "handlers": ["access_file"],
                            "propagate": 0,
                            "qualname": "gunicorn.access"
                        }
            },
        'handlers':{
                "error_file": {
                            "class": "logging.handlers.RotatingFileHandler",
                            "maxBytes": 1024*1024*1024,# 打日志的大小,我这种写法是1个G
                            "backupCount": 2,# 备份多少份,经过测试,最少也要写1,不然控制不住大小
                            "formatter": "generic",# 对应下面的键
                            # 'mode': 'w+',
                            "filename": "log/error.log"# 打日志的路径
                        },
                "access_file": {
                            "class": "logging.handlers.RotatingFileHandler",
                            "maxBytes": 1024*1024*1024,
                            "backupCount": 2,
                            "formatter": "generic",
                            "filename": "log/access.log",
                        }
            },
        'formatters':{
                "generic": {
                            "format": "'[%(process)d] [%(asctime)s] %(levelname)s [%(filename)s:%(lineno)s] %(message)s'", # 打日志的格式
                            "datefmt": "[%Y-%m-%d %H:%M:%S %z]",# 时间显示方法
                            "class": "logging.Formatter"
                        },
                "access": {
                            "format": "'[%(process)d] [%(asctime)s] %(levelname)s [%(filename)s:%(lineno)s] %(message)s'",
                            "class": "logging.Formatter"
                        }
            }
    }
    
    • 启动命令
    gunicorn server:app -c gunicorn.py
    

    相关文章

      网友评论

          本文标题:gunicorn fastapi uvicorn 配置文件记录

          本文链接:https://www.haomeiwen.com/subject/whhvxjtx.html