为python应用程序记录对象。

stutter的Python项目详细描述


stutter是我自己对于简单日志库的想法。包句柄中的对象 时间戳和自动记录到文件记录到文件可以缓冲, 甚至是线程化的,根据应用程序的需要

注意,可以使用BufferedReader对象和twisted to 不需要穿线。我将来可能会创造这样一个物体。

简要示例

如果要记录消息,请使用此包中的对象我打算用这个 在一个机器人中,也可能是一个客户端,用于deviantART聊天网络测井罐 操作如下:

from stutter import logging

logger = logging.BaseLogger()
logger.message('Sup homie?')
logger.message('Everything is saved to files in `./log` by default')
logger.message('You can change this somehow... I'll explain later.')
logger.debug('This message won't be printed on-screen, but will be saved.')

缓冲日志记录

文件IO有时很昂贵,因此可以使用bufferedlogger对象 以确定何时将邮件保存到文件当缓冲记录器 用于在屏幕上显示日志消息,消息立即显示, 但在使用.push()之前,它们不会保存到任何文件:

import time
from stutter import logging

logger = logging.BufferedLogger()
logger.message('Some boring message...')
time.sleep(5)
# You can use the time you have to confirm that no logs have been written
# yet, if you like. These are really trivial examples...
logger.warning('Writing logs!')
logger.push()

请注意,.push()一次最多只能保存5条消息。你可以改变 通过使用limit参数告诉push要保存多少条消息。 例如,要保存最多10条消息,您可以调用.push(limit=10)。到 将all存储的消息推送到日志文件中,调用.push(limit=0)

线程日志记录

如果您想自动调用push而不必认真考虑 太多,您可以使用ThreadedLogger对象一个简单而天真的例子:

from stutter import logging

logger = logging.ThreadedLogger()
# Start pushing in a thread.
logger.start()
logger.message('Your mother smells of elderberries.')
# Stop the threading stuff.
logger.stop()
# Wait until the thread has actually stopped.
logger.join()
# Make sure all log messages have been saved.
# This is not done by stopping the thread!
logger.push(0)

文件

我会在被纵火时写文件。

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

推荐PyPI第三方库


热门话题
java为什么只为字符数组重载println方法,而不为字符串、整数等其他数组重载?   java将快速线程返回到池中,而不是等待慢速线程   创建jar文件时java SwingWorker不工作   java如何将依赖注入RabbitListener   java如何在gradle任务中通过scp复制目录?   java在MySql数据库中创建表时,遇到NullPointerException   java HTTP Status 500 Servlet执行引发异常   在JAVA中对arraylist使用继承时出错   java PowerMockito未完成存根异常   如果没有错误/警告增加到某个极限,java是否停止在eclipse中构建项目或使用maven?   java Robolectric如何测试DateFormat。getBestDateTimePattern()   google云平台GCP数据存储Java API,构建一个空值实体   VerifyListener和FocusListener之间的java冲突   安卓是否可以在Java中的另一个方法内部强制调用一个方法?   JavaWindows7、JDK1.8、SpringBoot应用程序JAR在方法安全性方面占用了大量时间。getProviders()返回   Bean提供程序的java错误消息   java Slick动画每帧必须有一个持续时间   java无法在Trie中设置isLeaf标志   java为什么JVM不能创建包含main方法的类的对象,以便从该类访问main方法,如果它具有该类的名称?   java Apache Camel+CXF端点身份验证