Closed FireJohnny closed 1 year ago
nblog本来就自带删除老日志功能 你看配置文件的backcount就能看出来了,就是指定最多备份几个文件。你才生成几个文件就判断nblog不能删除旧日志。
日志文件怎么压缩?把txt文件后缀改成zip占用体积就能变小了?
我简单梳理过逻辑了 1、nb_log日志目前确实不能压缩,不是改后缀,而是用压缩工具对日志进行压缩的,比如用zipfile对日志进行压缩,是可以减少空间的 2、目前nblog支持的是滚动删除的机制,删除最早的日志,但是不符合一些业务需求,其实我想实现的是日志转储,压缩后过期删除日志 3、第三、四个问题 目前没有找到解决方案
要发你的代码才知道,这个很多人用,没有出现你这个问题
不支持压缩,压缩后看日志还要解压。目前没有任何python日志包自带压缩,这是伪需求,自己买个大的硬盘就好了
代码就是:
import time
from nb_log import get_logger
from multiprocessing import Process
logger = get_logger("test",is_add_stream_handler=True, log_filename='hax.log',log_file_size=10)
def f():
for i in range(1000000):
time.sleep(0.001)
logger.info('测试文件写入性能,在满足 1.多进程运行 2.按大小自动切割备份 3切割备份瞬间不出错'
'这3个条件的前提下,验证这是不是python史上文件写入速度遥遥领先 性能最强的python logging handler')
if __name__ == "__main__":
[Process(target=f).start() for _ in range(10)]
2022-08-27 15:13:51 - test - "D:\project\local_data\code\nb_log_test.py:18" - f - INFO - 测试文件写入性能,在满足 1.多进程运行 2.按大小自动切割备份 3切割备份瞬间不出错这3个条件的前提下,验证这是不是python史上文件写入速度遥遥领先 性能最强的python logging handler Error in atexit._run_exitfuncs: Traceback (most recent call last): File "D:\software\python39\lib\site-packages\nb_log\handlers.py", line 697, in _rollover_and_do_write self._do_lock() File "D:\software\python39\lib\site-packages\concurrent_log_handler__init__.py", line 418, in _do_lock raise RuntimeError("Cannot acquire lock after 10 attempts") RuntimeError: Cannot acquire lock after 10 attempts
大佬 还有一个问题 如果我是指定了日志存储的路径 就会出现 FileNotFoundError: [Errno 2] No such file or directory: 'D:\opt\cloud\logs\.__hax.lock'
忽略此问题 ,已解决
nb_log不打算压缩zip tar文件
1.我在本地尝试了使用多进程日志,目前只能日志切分不能对切分后的日志压缩 2.怎么定时删除老的日志,是需要我们自己实现的吗。 3.我在跑你的demo的时候的报错问题: Error in atexit._run_exitfuncs: Traceback (most recent call last): File "D:\software\python39\lib\site-packages\nb_log\handlers.py", line 697, in _rollover_and_do_write self._do_lock() File "D:\software\python39\lib\site-packages\concurrent_log_handler__init.py", line 418, in _do_lock raise RuntimeError("Cannot acquire lock after 10 attempts") RuntimeError: Cannot acquire lock after 10 attempts 4、在win下面有一个.file.lock的文件,这个怎么自动删除
请大佬解答一下