Full Stack Python logo Full Stack Python

全部主题 | Blog | 时讯 | @fullstackpython | Facebook | 源码

日志

日志将诸如错误、警告以及事件信息保存到永久存储器中,以便后期调试。

日志为何很重要?

将中断代码运行的异常信息通过日志输出是非常重要的,它可以用来观察并修复源码问题。 此外,信息日志和调试日志也可以帮助理解应用程序是如何执行的,即使代码能够正常工作。

日志等级

日志通常分为四类:

  • 信息
  • 调试
  • 警告
  • 错误

当 web 框架在运行时通过日志输出出错信息,对于理解你的应用是如何执行的是至关重要的。

日志聚合器

当你的应用运行在多个服务器上时,拥有一款叫做“日志聚合器”的工具是非常有帮助的。你可以配置你的应用程序将系统和应用日志重定向到一个地点,在那儿有很多工具用于查看、搜索以及监控你的集群服务器上的日志事件。

使用日志聚合器工具的另外一个优势是,它们允许你自定义设置警报,这样当错误率超出某个阈值时就能获得警报通知。

开源日志聚合器

  • Sentry 起初只提供 Django 异常处理服务,但现在拥有几乎所有主要编程语言和框架的对应日志客户端。它仍然可以和 Python 驱动的 web 应用工作的很好,并且通常用于和其它监控工具连接。Raven 是用于 Sentry 的开源 Python 客户端。

  • Graylog2 提供了一个用于日志聚合的中央服务器,以及一个用于浏览和搜索日志事件的图形化工具。它拥有针对大多数主要语言的库,包括 Python。它把数据保存在 Elasticache。

  • Logstash 与 Graylog2 类似,它提供一些通过编程控制日志数据流的特性。

  • Scribe 是一个由 Facebook 实现的日志聚合器项目。它旨在运行于多个服务器上,并能够根据你剩余的集群进行扩展。它使用 Thrift 消息格式,所以可以用于任何语言。

托管的日志服务

  • Loggly 是一个第三方基于云的日志聚合器应用。它们提供了针对每种主要语言的说明,包括 Python。它还在自定义搜索中提供了邮件警报的功能。

  • Splunk 用于事件聚集,提供了第三方云以及自定义托管的方案。它擅长于搜索以及对任何基于文本数据的数据挖掘。

  • Papertrail 和 Loggly 和 Splunk 都很像,它提供了集成到 S3 的功能,用于长期存储日志。

  • Raygun 用于输出错误日志,并且当问题发生时会及时报告。

  • Scalyr 在标准日志层面上添加了用户界面,提供了日志聚集、面板操作、警报以及搜索等功能。

  • 若是你没时间设置开源版本的 Sentry 的话,这儿有一个 托管版本的 Sentry

日志相关资源

日志学习清单

  • 阅读材料学习如何在你的 web 应用框架中集成日志输出的功能。

  • 确保错误和异常都被日志输出了。虽说这些日志可以采用 监视器 方案存储,但最好还是能拥有你自己的日志存储位置,这样便于在问题发生时调试,并且也能作为其它监视器系统的补充。

  • 为你可能需要使用的系统事件集成日志输出功能以便后期调试。例如,当函数超出某个阈值时,你可能想知道它们的返回值。

在为你的应用设置好日志后,接下来该做什么?

现有什么工具可以监控部署好的 web 应用?

我想学习如何通过 Web 分析来了解用户的更多知识。

我能做些什么来减少我的 web 应用安全漏洞?

#### 在这里注册以便每月能收到一份邮件资料,内容包含本站的主要更新、教程和 Python 书籍的打折码等。

The Full Stack Python Guide to Deployments 想找到一个完整的,一步一步的部署方案吗?请看《The Full Stack Python Guide to Deployments》.

邮件获取更新

##### 注册以便每月能收到一份邮件资料,内容包含本站的主要更新和 Python 教程。

目录

1. 简介学习编程为什么用 Python?Python 2 还是 3?企业 PythonPython CommunityBest Python Podcasts最佳 Python 资源最佳 Python 视频2. 开发环境VimEmacs3. 核心语言生成器推导式4. Web 开发Web 框架DjangoFlaskBottlePyramidMorepath其它 Web 框架Web 设计级联样式表 (CSS)JavaScriptWebSockets模板引擎Web 应用安全静态网站生成器Jinja25. 数据关系型数据库NoSQL 数据存储对象关系映射器PostgreSQLMySQLSQLite6. Web APIsAPI 集成API 的创建Twilio7. 部署服务器平台即服务(PaaS)操作系统Web 服务器WSGI 服务器源码控制应用程序依赖静态内容任务队列配置管理持续集成日志监控Web 分析Docker缓存微服务DevOpsNginxApache HTTP 服务器CaddyGreen Unicorn (Gunicorn)UbuntuPelicanLektorMkDocs8. 测试单元测试集成测试代码度量调试9. MetaBotsChange LogFuture DirectionsAbout the AuthorSQLAlchemyPeewee …或者显示全部目录内容.

日志

重要的更新内容会通过 Twitter 账号@fullstackpython发布。


需要更加详细的教程吗?请看 《The Full Stack Python Guide to Deployments》。

Chapters

1. 简介2. 开发环境3. 核心语言4. Web 开发5. 数据6. Web APIs7. 部署 » 日志 8. 测试9. Meta …or view the full table of contents.


This site is based on Matt Makai's project Full Stack Python, thanks for his excellent work!

此网站由 @haiiiiiyun开源爱好者们 共同维护。 若发现错误或想贡献,请访问: Github fullstackpython.cn 项目