所有应用程序模块共享的简单日志服务

logging-singleton的Python项目详细描述


单例日志服务

保证是单例的日志服务。基于Python的日志, 但是LoggingService的每个实例化都来自于应用程序的任何模块 返回相同的记录器实例。默认情况下使用RotatingFileHandler。在

代码示例:

    from logging_service import LoggingService

    self.log = LoggingService()

    self.log.info("Constructing output file names...")
    self.log.err("Failed to construct output file names...")
    self.log.warn("Output file names are unusual...")
    self.log.debug("Constructing output file names foo.bar, fum.txt...")

如果另一个模块按照上面的方法导入并实例化LoggingService(), 将使用相同的记录器实例。在

这个API比分层的本地日志模块更原始, 但希望使用简单。可以登录到文件或控制台。 为info/debug/warn/err内置了一个格式化程序。示例:

my_module.py(290375): 2020-09-03 14:58:33,017;INFO: Start Epoch [1/50]

当第一次创建LoggingService实例时,以下选项 在构造函数中可用;所有选项都是可选的:

^{pr2}$

创建后,只能按如下方式修改记录器实例:

- my_logger.logging_level = logging.NEW_LEVEL
- my_logger.log_file      = '/tmp/new_logfile'

其中日志记录级别是通常的logging.INFO,logging.WARN,等等

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

推荐PyPI第三方库


热门话题
java如何在sqlite数据库中保存特定列的历史记录   java如何更改/更新timeseriechart名称(JFreeChart)   java如何将整数转换为可绘制的   汇编什么解释Java的字节码   java查找已编译的类版本号   我应该什么时候在ColdFusion应用程序中使用Java?   java当一个实体的两个字段为(unique=true)时,如何处理JPA异常?   java为什么在所有其他实例都正确的情况下返回错误的布尔值?   java Hibernate每次都准备语句   java停留在平均字长上   对Java和日语字符进行编码   java如何将导致异常的方法的错误消息传递给侦听器中的onTestFailure方法   java代码没有打印结果   java为什么私有内部接口的方法必须是公共的?   休眠发生错误。有关详细信息,请参阅错误日志。JAVAlang.NullPointerException