Skip to main content

一个野蛮的文件记录器,当你只需要“开球”你的屏幕时。

项目描述

BruteLogger

一个野蛮的文件记录器,当你只需要tee你的屏幕时。分叉stdout到多个处理程序。

注意

日志做对了应该使用logging,还是精彩的loguru

安装

pip install brutelogger

用法

from brutelogger import BruteLogger
BruteLogger.save_stdout_to_file()
# Everything on screen from now on will be copied
# to a timestamped file inside `./logs/`

更多选择:

from brutelogger import BruteLogger
BruteLogger.save_stdout_to_file(path='captains_log', fname='stardate_41153.7',
                                mode='wb', encoding='utf8', also_stderr=True)
print("Our destination is planet Deneb IV")
# => outputs both to terminal and to file `captains_log/stardate_41153.7` (in binary)

请参阅save_stdout_to_file高级用法的实现。

应用

这个库提供了将屏幕上出现的所有内容的粗暴重定向到多个处理程序,通常包括原始终端和日志文件。目标是在发生故障时维护输出的硬拷贝,或以备将来处理。

例如,最初的用例包括多个异步运行的进程,每个进程调用一个用于printf()传递重要算法统计信息的 C 库。使用正则表达式从日志文件中检索这些变得很容易。

它是如何工作的

(/to) 对象上的任何函数(调用、消息)都通过参数逐字传播到每个和所有处理程序。例如,调用BruteLogger.save_stdout_to_file()sys.stdout.flush()在使用后调用这意味着调用sys.stdout.flush()将转换为flush()对终端文件处理程序和打开的日志文件处理程序的调用。例如,close()在程序终止时被调用也是如此。

去做

  • 切换回来的选项sys.__stdout__
  • 添加/删除处理程序
  • close()访问处理程序(例如,仅在文件日志上调用,而不是在__stdout__.

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

brutelogger-0.1.2.tar.gz (3.3 kB 查看哈希)

已上传 source