为您的Flask应用程序配置Graylog日志处理器和中间件
项目描述
这是一个 Flask 扩展,允许您配置 Graylog 日志处理器,以及配置中间件以将每个请求/响应记录到Graylog。
安装
您可以通过 pip 来安装它
pip install Flask-Graylog
用法
您只需要导入并初始化您的应用程序
# Import dependencies
from flask import Flask
from flask.ext.graylog import Graylog
# Configure app and Graylog logger
app = Flask(__name__)
graylog = Graylog(app)
# Log to graylog
graylog.info('Message', extra={
'extra': 'metadata',
})
# Use graylog log handler in another logger
import logging
logger = logging.getLogger(__name__)
logger.addHandler(graylog.handler)
logger.info('Message')
配置选项
以下选项可用于配置graylog日志记录器。
from flask import Flask
from flask.ext.graylog import Graylog
app = Flask(__name__)
# Use configuration from `app`
app.config['GRAYLOG_HOST'] = '10.1.1.1'
graylog = Graylog(app)
# Provide configuration
config = {'GRAYLOG_HOST': '10.1.1.1'}
graylog = Graylog(app, config=config)
GRAYLOG_HOST - 发送消息到的主机 [默认: ‘localhost’]
GRAYLOG_PORT - 发送消息到的端口 [默认: 12201]
GRAYLOG_FACILITY - 报告的设施 [默认: ‘flask’]
GRAYLOG_EXTRA_FIELDS - 是否包含每个消息的 extra 数据 [默认: True]
GRAYLOG_ADD_DEBUG_FIELDS - 是否将额外的Python调试字段添加到每个消息 [默认: True]
GRAYLOG_CONFIGURE_MIDDLEWARE - 是否设置中间件以记录每个响应 [默认: True]
示例消息格式
{
"_process_name": "MainProcess",
"_request": {
"content_length": "",
"remote_addr": "127.0.0.1",
"headers": {
"upgrade_insecure_requests": "1",
"connection": "keep-alive",
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"dnt": "1",
"host": "localhost:5000",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36",
"accept_language": "en-US,en;q=0.8,ms;q=0.6",
"cache_control": "max-age=0",
"accept_encoding": "gzip, deflate, sdch"
},
"path_info": "/",
"content_type": "",
"query_string": "",
"method": "GET"
},
"level": 6,
"_logger": "flask_graylog",
"timestamp": 1460502169.950895,
"_pid": 6010,
"facility": "flask",
"_function": "after_request",
"_thread_name": "Thread-1",
"host": "voltaire.local",
"version": "1.0",
"file": "Flask-Graylog/flask_graylog.py",
"full_message": "Finishing request for \"GET http://localhost:5000/\" from -",
"line": 130,
"_response": {
"headers": {
"content_length": "6",
"content_type": "text/html; charset=utf-8"
},
"time_ms": 0,
"status_code": 200
},
"_flask": {
"view_args": {},
"endpoint": "root"
},
"short_message": "Finishing request for \"GET http://localhost:5000/\" from -"
}
项目详情
关闭
Flask-Graylog-1.1.2.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 3261e6b49d61a4412c469e5fe99c1245f4b304066548268ce276a405882e3dc3 |
|
MD5 | 8486d807fa31fb8a399b58aa038215d0 |
|
BLAKE2b-256 | 937ce21ae6b15f1bcbf3fee788bf18230a471230b0bffcc41bc6c7b877fcee42 |
关闭
Flask_Graylog-1.1.2-py2.py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | ddf57e1c4b0ed78c8a0ceac49f3013cef569013a8ad46f4f3aac578abd0c6308 |
|
MD5 | 73699fcb656e59869f279a1e2f6ad69e |
|
BLAKE2b-256 | 3c66b3231b6c7536d3d6d774d74a7d7f40e8b21da277c322a067dfcabcdcfd0f |