ydf0509 / nb_log

pip install nb_log 各种日志handler和自动转化项目的任意print的效果。日志自动彩色炫酷,可点击控制台的日志自动精确跳转到pycharm的文件和行号。文件日志多进程切割安全。在10个最重要方面全方位超过loguru
375 stars 72 forks source link

linux下使用LOG_FILE_HANDLER_TYPE = 2时报错I/O operation on closed file. #59

Closed Paihuai-D closed 10 months ago

Paihuai-D commented 10 months ago

当我修改LOG_FILE_HANDLER_TYPE = 1为LOG_FILE_HANDLER_TYPE = 2时,会报错: I/O operation on closed file. --- Logging error --- Traceback (most recent call last): File "/home/chenzhen/.local/lib/python3.8/site-packages/nb_log/handlers.py", line 1042, in emit self.fp.write(msg + '\n') ValueError: I/O operation on closed file. 但是当LOG_FILE_HANDLER_TYPE = 1的时候,不会出现该错误,我该如何修改才能实现LOG_FILE_HANDLER_TYPE = 2。谢谢您!!!

ydf0509 commented 10 months ago

发下你的完整代码

Paihuai-D commented 10 months ago

发下你的完整代码

此处是我定义logger: logger_state = \ get_logger(name='MsgState', log_level_int=10, log_path=METAINFO.logLocation, log_file_size=100, log_file_handler_type=2, log_filename='msg_state.log') 此处是代码调用地方: def run(self): while not rospy.is_shutdown(): self.publish_events() self.publish_report_data() current_time = rospy.Time.now() if current_time >= self.send_time1: self.publish_states() self.send_time1 = rospy.Time.now() + rospy.Duration(120.0)
logger_state.info("The current status is normal") 此处是调用run函数: if name == 'main': event_handler = MessageHandler() event_handler.run()

ydf0509 commented 10 months ago

看不到你的全部代码。 用第6种handler试试。 同时按大小和时间切割。

Paihuai-D commented 10 months ago

看不到你的全部代码。 用第6种handler试试。 同时按大小和时间切割。

第6种可以运行