为库和cli工具提供简单的日志管理。

magiclog的Python项目详细描述


https://travis-ci.org/drcloud/magiclog.svg?branch=masterhttps://img.shields.io/pypi/v/magiclog.svghttps://img.shields.io/pypi/dd/magiclog.svg

magiclog简化了应用程序和库日志记录,允许您使用 使用无需复杂设置或 记录器发现。

frommagiclogimportlogdefmain():log.configure()log.info('Hello, INFO.')if__name__=='__main__':main()

magiclog以比 logging模块的基本配置,而不要求 图书馆作者:

  • from magiclog import log使用 一个小小的元编程,不需要考虑是否应该 使用__package____name__sys.argv[0]
  • 当您在后台运行任务时,magiclog会识别 这将记录到syslog;否则将记录到stderr
  • magiclogstderr提供简单的单行格式,并带有时间 和一条消息,但也可以以扩展格式登录,使用日志和 水平,如有要求。并且magiclog在 登录到syslog。

magiclog仅在调用log.configure()时才安排日志。 如果要自定义级别,可以显式地将它们传递给 log.configure()level=...syslog=...stderr=... 命名参数。否则,您的记录器具有一个空处理程序,如中所述 Configuring Logging for a Library

log.configure()# Same as the above.log.configure(level='info')# Use Syslog or stderr based on whether or not we're in the foreground,# but at debug level instead of info level.log.configure(level='debug')# Enables both channels, whether foregrounded or backgrounded.log.configure(syslog='info',stderr='info')# Enables the more verbose console logging format, with module and function# name information as well as time.log.configure(level='info',extended=True)

配置其他模块的记录器

magiclog中的logger函数提供记录器发现、遍历 堆栈并使用模块或包名称,或运行的名称 可执行,视情况而定。您可以使用logger检索和 配置其他模块的记录器,遵循与 应用程序记录器。

importmagiclogfrommagiclogimportlogdefmain():# You can pass a module object or a string to ``logger``. Here, we# configure magiclog's own (usually not very useful) logger.magiclog.logger(magiclog).configure()# Obtain a reference to Boto3's logger and auto-configure it. The# logger for ``magiclog`` will print out a few things as it sets this# logger up.magiclog.logger('boto3').configure()log.configure()log.info('Hello, INFO.')if__name__=='__main__':main()

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

推荐PyPI第三方库


热门话题
java通过Spring依赖注入部署CXF服务端点   java字节或字节,请解释   java Swing组件命名约定?   java可以在JOptionPane中放置多个输入。显示输入对话框?   Dropwizard for Hibernate中的java SQLight方言   Windows8中的java CPU负载   将Java版本号映射到主要Java版本   使用数据库Java重新启动pi   java如何在RecyclerView中显示ArrayList?   使用枚举作为映射键的java会在数据库中生成RAW   java vscode不能用于本机模块?   分段函数的java导数   java为什么主体在spring安全性中作为类型对象返回?   java MySupportMapFragment未按照google地图Android显示位置名称   java Android OCR(光学字符识别)   java有什么理由我不应该使用文件阅读器吗?   java私有静态成员内存使用   java在将POJO转换为xml时去掉innerclass的类名   java我需要关闭音频剪辑吗?   java最新文件和文件的动态命名