美文网首页
多进程环境python logging打印日志混乱问题

多进程环境python logging打印日志混乱问题

作者: 狂奔的虾米 | 来源:发表于2018-03-10 00:19 被阅读48次

    解决办法如下:

    logging.basicConfig(level=logging.INFO,
                            format='[%(asctime)s] p%(process)s {%(name)-12s:%(lineno)d} %(levelname)-8s - %(message)s',
                            datefmt='%m-%d %H:%M',
                            filename='taobao.log',
                            filemode='a') #注意此处用"a"而不是"w"
    

    多么痛的领悟,困扰了这么久的问题其实就是一个参数配置错了。
    fileMode:表示日志文件的打开方式。w-直接写,使用这个配置当系统重启的时候日志会清空,一个进程打开后其他进程是无法使用的;a-尾部追加,大家都可以打开往文件结尾进行追加写入。

    本人主语言是java,转到python后日志这块踩了几个坑。再说说另外一个坑,就是异常堆栈的打印问题,在java中logger是可以使用error直接打印出来的。在python中error跟其他日志记录方法没太大差别,是无法打印异常堆栈的,打印堆栈请使用logger.exception("异常说明", e)

    相关文章

      网友评论

          本文标题:多进程环境python logging打印日志混乱问题

          本文链接:https://www.haomeiwen.com/subject/myqvfftx.html