HiveNetCore.redirect_stdout module¶
重定向标准界面输出的处理模块
- class HiveNetCore.redirect_stdout.EnumOriginalStdoutWriteType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[源代码]¶
基类:
Enum对原始的stdout的输出方式
- After = 'After'¶
- Before = 'Before'¶
- NoWrite = 'NoWrite'¶
- class HiveNetCore.redirect_stdout.EnumRedirectOutputHandlerType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[源代码]¶
基类:
Enum重定向输出句柄类型
- Consloe = 'Consloe'¶
- File = 'File'¶
- Logger = 'Logger'¶
- String = 'String'¶
- StringList = 'StringList'¶
- class HiveNetCore.redirect_stdout.RedirectOutput(auto_start=True, original_stdout=None, original_stdout_write_type=EnumOriginalStdoutWriteType.Before, is_asyn=False, output_handlers=[], wait_write_end_when_asyn=False)[源代码]¶
基类:
object输出重定向类
(参考材料: @see https://www.cnblogs.com/turtle-fly/p/3280519.html)
- 参数
auto_start (bool) – default=False, 是否初始化时自动启动重定向处理
original_stdout (object) – default=None, 初始输出对象,如果为None则记录为sys.stdout
original_stdout_write_type (EnumOriginalStdoutWriteType) – default=EnumOriginalStdoutWriteType.NoWrite, 对原始的stdout的输出处理方式
is_asyn (bool) – default=False, 是否异步处理(异步处理通过队列缓存通过线程写,可以快速返回结果)
output_handlers (RedirectOutputHandler[]) – default=list(), 需要重定向到的输出对象(RedirectOutputHandler)列表
wait_write_end_when_asyn (bool) – default=False, 异步模式关闭重定向时是否等待全部对象写完
- __init__(auto_start=True, original_stdout=None, original_stdout_write_type=EnumOriginalStdoutWriteType.Before, is_asyn=False, output_handlers=[], wait_write_end_when_asyn=False)[源代码]¶
构造函数
- 参数
auto_start (bool) – default=False, 是否初始化时自动启动重定向处理
original_stdout (object) – default=None, 初始输出对象,如果为None则记录为sys.stdout
original_stdout_write_type (EnumOriginalStdoutWriteType) – default=EnumOriginalStdoutWriteType.NoWrite, 对原始的stdout的输出处理方式
is_asyn (bool) – default=False, 是否异步处理(异步处理通过队列缓存通过线程写,可以快速返回结果)
output_handlers (RedirectOutputHandler[]) – default=list(), 需要重定向到的输出对象(RedirectOutputHandler)列表
wait_write_end_when_asyn (bool) – default=False, 异步模式关闭重定向时是否等待全部对象写完
- class HiveNetCore.redirect_stdout.RedirectOutputHandler(handler_type=EnumRedirectOutputHandlerType.Consloe, output_obj=None, is_flush=False, encoding='utf-8')[源代码]¶
基类:
object输出重定向句柄
- 定义RedirectOutput类处理所需的输出句柄,实现真正的输出逻辑,使用方法有两类:
1、直接使用该类生成默认的重定向句柄对象 2、自定义输出句柄,继承该类,重载write和flush函数
- 参数
handler_type (EnumRedirectOutputHandlerType) – default=EnumRedirectOutputHandlerType.Consloe, 输出句柄类型
output_obj (object) –
default=None, 输出对象,根据handler_type不同传入不同参数
Consloe : 无需传入
File : string, 传入文件名路径
String : list[0]=string,传入初始字符串,后续在该基础上逐步扩展(注意,是一个长度为1的数组)
StringList : list(),传入初始字符对象列表
Logger : 日志对象,传入对象需满足:
1、标准logging的logger对象
2、自定义的日志类对象,但应实现info的标准方法
注意: Logger对象不支持清空flush方法
is_flush (bool) – default=False, 初始化时是否清空输出缓存(清空输出对象)
encoding (string) – default=’utf-8’, 输出字符编码
- __init__(handler_type=EnumRedirectOutputHandlerType.Consloe, output_obj=None, is_flush=False, encoding='utf-8')[源代码]¶
构造函数
- 参数
handler_type (EnumRedirectOutputHandlerType) – default=EnumRedirectOutputHandlerType.Consloe, 输出句柄类型
output_obj (object) –
default=None, 输出对象,根据handler_type不同传入不同参数
Consloe : 无需传入
File : string, 传入文件名路径
String : list[0]=string,传入初始字符串,后续在该基础上逐步扩展(注意,是一个长度为1的数组)
StringList : list(),传入初始字符对象列表
Logger : 日志对象,传入对象需满足:
1、标准logging的logger对象
2、自定义的日志类对象,但应实现info的标准方法
注意: Logger对象不支持清空flush方法
is_flush (bool) – default=False, 初始化时是否清空输出缓存(清空输出对象)
encoding (string) – default=’utf-8’, 输出字符编码