日志

以flask举例

# mytest.py
from flask import Flaskapp = Flask(__name__)@app.route("/")
def hello():return "hello world"def run():app.run("0.0.0.0", 12345)if __name__ == "__main__":run()

三种配置方式

# logging.conf [loggers]
keys = root,gunicorn.error,gunicorn.access[handlers]
keys=console,logfile[formatters]
keys=json[logger_root]
level=INFO
handlers=console,logfile[logger_gunicorn.error]
level = INFO
handlers = logfile
propagate = 1
qualname = gunicorn.error[logger_gunicorn.access]
level = INFO
handlers = logfile
propagate = 0
qualname = gunicorn.access[handler_console]
class=logging.StreamHandler
formatter=json
args=(sys.stdout, )[handler_logfile]
class=logging.handlers.TimedRotatingFileHandler
formatter=json
args=('logs.log', 'midnight', )[formatter_json]
format=%(message)s
class=pythonjsonlogger.jsonlogger.JsonFormatter
# gunicorn.conf
import logging
from logging.handlers import TimedRotatingFileHandler
import os, sys
import multiprocessingfrom gunicorn.glogging import Loggerfilepath = "/data/zgx/test/test/flaskTest/list_embedding/log/"
th_acc = TimedRotatingFileHandler(when="S", backupCount=7, filename=filepath + "access.log")
th_err = TimedRotatingFileHandler(when="S", backupCount=7, filename=filepath + "error.log")
th_acc.setFormatter(logging.Formatter("[%(asctime)s] %(levelname)s | %(message)s"))
th_err.setFormatter(logging.Formatter("[%(asctime)s] %(levelname)s | %(message)s"))# gunicorn源码中不支持按日切分日志
class SplitLogger(Logger):def __init__(self, cfg):super(SplitLogger, self).__init__(cfg)self.access_log.addHandler(th_acc)self.error_log.addHandler(th_err)# Server Socket
bind = ["0.0.0.0:1316"]
backlog = 512
chdir = "/data/prod/project/list_embedding/service_py"
timeout = 100 # Worker Processes
worker_class = "gevent"
workers = multiprocessing.cpu_count() * 2 + 1 # Logging
loglevel = "info"access_log_format = '%(t)s %(p)s %(h)s "%(r)s" %(s)s %(L)s %(b)s %(f)s" "%(a)s"'
accesslog = "/data/prod/project/list_embedding/service_py/gunicorn_access.log"error_log_format = '%(t)s %(p)s %(h)s "%(r)s" %(s)s %(L)s %(b)s %(f)s" "%(a)s"'
errorlog = "/data/prod/project/list_embedding/service_py/gunicorn_error.log"logger_class = SplitLogger
# 第一种
gunicorn mytest:app --log-conf=logging.conf
# 第二种
gunicorn mytest:app -c gunicorn.conf
# 第三种
gunicorn mytest:app --access-logfile '/xxx/access.log'# 具体配置可以详见官网
# https://docs.gunicorn.org/en/latest/settings.html#logger-class

gunicorn 配置日志相关推荐

  1. gunicorn配置日志

    gunicorn有多个内置的参数可用来配置:flask h 远程地址 l "-" u 用户名 t 时间 r 状态行,如:GET /test HTTP/1.1 m 请求方法 U 没有 ...

  2. gunicorn之日志详细配置

    gunicorn的日志配置 gunicorn的日志配置相关的常用参数有4个,分别是accesslog,access_log_format,errorlog,loglevel. accesslog:用户 ...

  3. Gunicorn配置部分的翻译

    写在前面,虽然翻译得很烂,但也是我的劳动成果,转载请注明出处,谢谢. Gunicorn版本号19.7.1 Gunicorn配置 概述 三种配置方式 优先级如下,越后的优先级越大 1.框架的设置(现在只 ...

  4. Gunicorn配置详解

    通过gunicorn启动Flask项目的简单命令: gunicorn -w 4 -b 0.0.0.0:5000 app:app 其中-w设置最大进程数,-b绑定IP和端口,第一个app为app.py的 ...

  5. Confluence 6 配置日志

    我们推荐你根据你的需求来配置你自己的 Confluence 日志.你可以有下面 2 种方法来修改你的日志: 通过 Confluence 管理员控制台进行配置 – 你的修改仅在本次修改有效,下次重启后将 ...

  6. 华为 日志服务器 配置文件,配置日志服务器

    配置日志服务器 内容精选 换一换 您可以通过云日志服务,查看访问七层共享型负载均衡请求的详细日志记录,分析负载均衡的响应状态码,快速定位异常的后端服务器.您已经创建了七层负载均衡.您已经开通了云日志服 ...

  7. 演示:配置日志发送到VTY虚拟终端线路

    演示:配置日志发送到VTY虚拟终端线路 演示目标:配置日志文件发到VTY虚拟终端线路. 演示环境:仍然使用演示配置控制台日志并保存到buffered区域的实验环境. 演示背景:如果是使用telnet登 ...

  8. BEA WebLogic Server 10 查看和配置日志

    查看和配置日志 WebLogic Server 内的每个子系统都可生成日志消息来传达其状态.例如,当启动 WebLogic Server 实例时,安全子系统会输出消息以报告其初始化状态.为了记录其子系 ...

  9. Keepalived配置日志文件

    配置日志文件 修改配置文件 keepalived vi /etc/sysconfig/keepalived 配置信息 KEEPALIVED_OPTIONS="-D -d -S 0" ...

最新文章

  1. impala 本年格式化时间_hive,hbase,impala之间的对比
  2. 人群计数--Single-Image Crowd Counting via Multi-Column Convolutional Neural Network
  3. centos6重启网络命令_虚拟机-linux系统中图形界面和命令行界面切换
  4. 语言检测工具-langid
  5. 初识Kubernetes
  6. 如何构建一套高性能、高可用性、低成本的视频处理系统?
  7. 互联网级监控系统必备-时序数据库之Influxdb技术
  8. ecshop 手机版的php代码在哪里,PHP 在ecshop上集成 手机网页支付_php
  9. Java多线程_JUC包下的阻塞队列
  10. VS2010 代码自动对齐 快捷键
  11. windows 2003 英文版支持中文显示、中文输入的设置方法
  12. Zabbix之Python发送邮件
  13. coreseek使用
  14. HPE server 如何利用SPP包升级BIOS方法合集
  15. JSON在线对比差异工具
  16. 安卓手机格式化怎么弄_安卓手机怎么格式化?
  17. 从你的全世界路过 经典语录
  18. 搜狗云输入法、Google手机语音搜索:两款创新云产品
  19. 新项目导入的时候遇到的问题
  20. Snapchat和Facebook同意社交媒体的未来看起来像TikTok

热门文章

  1. B/S和C/S的区别
  2. 视图插入数据_数据库DQL、DML、DDL、DCL 详解
  3. 计算机网络之数据链路层思维导图总结
  4. 2.3.6 操作系统之进程同步与互斥经典问题(生产者-消费者问题、多生产者-多消费者问题、吸烟者问题、读者-写者问题、哲学家进餐问题)
  5. android studio异步单元测试,在Android Studio中可以进行单元测试
  6. LwIP 之一 源码目录文件详解及移植说明
  7. Linux C : Makefile 的编写和示例
  8. mysql可以使用dataguard_逻辑DataGuard的配置
  9. micropython实现多任务_python多任务处理
  10. mysql now unixtime_MySQL时间函数from_unixtime()date_format()unix_timestamp()now()使用说明