logtools

logger_general

get_logger

dramkit.logtools.logger_general.get_logger(fpath=None, fmode='w', logname=None, level=None, screen_show=True)

获取常规日志记录,将日志信息保存在文件或在屏幕中打印

Parameters:
  • fapth (str, None) – 日志文件路径,默认为None即不保存日志文件

  • fmode (str) – ‘w’或’a’,取’w’时会覆盖原有日志文件(若存在的话),取’a’则追加记录

  • screen_show (bool) –

    是否在控制台打印日志信息,默认打印

    Note

    fpathscreen_show 必须有至少一个为真

Returns:

logging.Logger - 日志记录器

See also

日志文件按大小滚动: dramkit.logtools.logger_rotating.get_logger()

日志文件按时间滚动: dramkit.logtools.logger_timedrotating.get_logger()

References

logger_rotating

get_logger

dramkit.logtools.logger_rotating.get_logger(fpath=None, fmode='w', max_kb=128, nfile=3, logname=None, level=None, screen_show=True)

滚动日志记录(按文件大小),将日志信息滚动保存在文件或在屏幕中打印

Parameters:
  • fapth (str, None) – 日志文件路径,默认为None即不保存日志文件

  • fmode (str) – ‘w’或’a’,取’w’时会覆盖原有日志文件(若存在的话),取’a’则追加记录

  • max_kb (float) – 单个日志文件大小限制,单位为kb

  • nfile (int) – 最多备份文件个数

  • screen_show (bool) –

    是否在控制台打印日志信息,默认打印

    Note

    fpathscreen_show 必须有至少一个为真

Returns:

logging.Logger - 日志记录器

logger_timedrotating

get_logger

dramkit.logtools.logger_timedrotating.get_logger(fpath=None, when='M', interval=3, nfile=3, logname=None, level=None, screen_show=True)

滚动日志记录(按时间),将日志信息滚动保存在文件或在屏幕中打印

Parameters:
  • fapth (str, None) – 日志文件路径,默认为None即不保存日志文件

  • when (str) – 回滚时间单位: S 秒、M 分、H 小时、D 天、W 星期、midnight 午夜 等

  • interval (int) – 滚动周期,单位由 when 指定

  • nfile (int) – 最多备份文件个数

  • screen_show (bool) –

    是否在控制台打印日志信息,默认打印

    Note

    fpathscreen_show 必须有至少一个为真

Returns:

logging.Logger - 日志记录器

See also

常规日志记录: dramkit.logtools.logger_general.get_logger()

日志文件按大小滚动: dramkit.logtools.logger_rotating.get_logger()

utils_logger

logger_show

dramkit.logtools.utils_logger.logger_show(log_str, logger=None, level='info')

显示|记录日志信息

Parameters:
  • log_str (str) – 日志内容字符串

  • logger (logging.Logger, None, nan, False) –

    • 若为False,则不显示|记录日志信息

    • 若为None或nan,则用print打印log_str

    • 若为logging.Logger对象,则根据level设置进行日志显示|记录

  • level (str) – 支持’info’, ‘warn’, ‘error’三个日志级别

Todo

  • 添加更多level和设置

close_log_file

dramkit.logtools.utils_logger.close_log_file(logger)

关闭日志记录器logger中的文件流,返回logger

remove_handlers

dramkit.logtools.utils_logger.remove_handlers(logger)

关闭并移除logger中已存在的handlers,返回logger

Note

貌似必须先把FileHandler close并remove之后,再remove其它handler 才能完全remove所有handlers,原因待查(可能由于FileHandler 是StreamHandler的子类的缘故?)

set_level

dramkit.logtools.utils_logger.set_level(logger, level=None)

设置日志显示基本

make_path_dir

dramkit.logtools.utils_logger.make_path_dir(fpath)

若fpath所指文件夹路径不存在,则新建之