一个简单的django应用程序,以各种格式(如json)记录请求/响应。

django-logging-json的Python项目详细描述


…角色::python(代码)
:语言:python支持将日志消息发送到ElasticSearch。

…图片::https://badge.fury.io/py/django logging json.svg
:目标:https://badge.fury.io/py/django logging json

代码块::python

pip install git+https://github.com/cipriantarta/django logging




代码块::python



快速启动
==
1。将"django_logging"添加到已安装的应用程序设置中,如下所示:

…代码块:python

已安装的应用程序=(

‘django_日志记录’,





2。在您的中间件类中包括djangologgingmiddleware中间件,如下所示:

…代码块::python

middleware_classes=(
'django_logging.middleware.djangologgingmiddleware',




handlers
==

appfilehandler
----

此句柄将请求/响应信息记录到"log_path/app.log"中。对于未处理的异常,它还将在同一文件中记录请求/异常。
日志格式:


代码块::javascript

{
"info":
{
"timestamp":
{
"request":{
…请求信息…
},
"响应":{
…响应信息…
}
}
}
}
}


>请求和异常

……代码块::javascript

{
"错误":
{
"时间戳":
{
"请求":{
…请求信息…
},
"异常":{
"消息":"异常消息",
"回溯":[

]
}
}
}
}
}

sqlfilehandler
----

此处理程序会将所有查询记录到"logu path/sql.log`"。
在生产环境中,您应该设置"logu level=error"或"sqlu log=false",以避免性能问题。
如果"console logu"是et到``true`

----


>此处理程序将调试消息记录到``log路径/debug.log``。此处理程序仅在"settings.debug"设置为"true"时使用。


日志格式:

…代码块::python

[%(levelname)s-%(created)s],文件:%(module)s.py,func:%(funcname)s,ln:%(lineno)s:%(message)s




custom use
==



代码块::python

代码块::python

rride django日志设置,在项目的设置文件中添加字典

…代码块::python

django_logging={
"控制台日志":false
}

W·奎里仅限S。

:python:`log_level='debug'-如果设置.debug设置为true,否则log_level设置为'info'

:python:`disable_existing_loggers=true'-如果要与多个记录器组合,请将此设置为false。

:python:`log_path='{}/log s'。格式(settings.baser)`-如果logs文件夹不存在,则将创建它。

:python:`ignored戥path=['/admin','/static','/favicon.ico']`-要忽略的URL终结点列表。

:python:`response戥fields=('status','reason','charset','headers','content')`-要记录的响应字段列表。

:python:`content_json_only=true`-仅当其为json文档时才显示日志响应内容。

:python:`rotate_mb=100`-日志文件在旋转之前可以具有的最大大小(以MB为单位)。

:python:`rotate_count=10`-最大旋转日志文件数。

:python:`indent_控制台日志=2`-按"n"空格缩进控制台日志。

:python:`elasticsearch\u enabled=false`-设置为yes以启用elasticsearch支持。

:python:`elasticsearch\u hosts=["localhost"]`-elasticsearch hosts

:python:`elasticsearch\u index="django logging json"`-elasticse架构索引名称

:python:`elasticsearch_ssl=false`-通过ssl(:443)的elasticsearch连接

:python:`elasticsearch_auth=('user',password)`-elasticsearch授权凭据(user,password)。默认为"none"



更改日志
==
1.15[2017-11-23]
----
-将certifi添加到所需包
-删除python 3.4支持并添加python 3.6


1.12[2017-11-09]
----
-错误修复

<1.11[2017-11-09]
---——
-错误修复

1.10[2017-11-02]
———————————————————————————————————————————————————————————————————————————使用快速查询对日志进行垃圾邮件处理是不必要的

如果消息被发送到ElasticSearch两次
-记录来自脚本(管理命令等)的SQL查询,而不只是来自Web请求

1.5.9[2017-10-19]
----
-将"raw"添加到异常消息
-使用PPrint而不是JSON转储进行控制台输出ut

1.5.8[2017-10-03]
———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————ango中间件'django>;=1.10`

响应进程中的异常。给其他中间件一个处理异常的机会。
-控制台日志缩进
-弹性搜索支持。下面是使用带有ElasticSearch和Django日志记录的Kibana的示例图表。图片::kibana_sample.png



1.4[2016-02-19]
----


-错误修复
-使用多个数据库时添加查询日志记录支持
-如果使用多个数据库,则添加SQL日志的数据库别名
-添加普通dict日志记录支持

1.3[2015-12-13]
—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————/>-如果是JSON,则记录响应内容(错误)

[2015-11-17]1.1或异常日志项



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
由于java的原因,maven无法运行代码。lang.NoClassDefFoundError:com/fasterxml/jackson/annotation/JsonMerge   Android项目中的java Creative SDK图像编辑器UI   java如何在Android Studio中使用DataOutputStream上传文件并将其他参数传递到web服务器   java倒计时服务打开时崩溃   java将RubyonRails项目转换为JRubyonRails项目   java我的图库意图是不显示图像?为什么?   java如何在春季启动时跳过mongodb/   java@Autowired在Spring中是如何实现的   甲骨文Akka java。util。同时发生的timeoutexception线程池频繁超时   java maven依赖项对spring启动应用程序有何影响?   java Firestore执行复合查询,未截获事件“已修改”   java ItemStreamException:未能初始化读取器,原因是:IllegalStateException:流已初始化。重新开放前关闭   java将空标记解组到集合的新实例中   使用AspectJ的java新手:无法调用aspect   java查找棋类游戏的所有组合   你为什么要这样做and==与Java中的equals方法不一样吗?   如何对使用JavaUUID的代码进行单元测试?