Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 更改类实例中的日志记录格式_Python_Django - Fatal编程技术网

Python 更改类实例中的日志记录格式

Python 更改类实例中的日志记录格式,python,django,Python,Django,这是一个Python问题,但Django特定的解决方案是可以接受的 对于我正在编写的类,我希望在每个实例的基础上为日志输出添加前缀。我不想干扰已设置的日志记录目标。以下是我能想到的解决方案: 创建一个新的记录器作为模块的子记录器,使用不同的格式化程序重新配置父处理程序:mylog.info(“foo”)=>prefixfoo 使用info()、warn()等方法创建一个包装日志类,每个方法在调用包装日志记录器之前添加前缀:mylog.info(“foo”) 将前缀存储在实例中并手动添加:log.

这是一个Python问题,但Django特定的解决方案是可以接受的

对于我正在编写的类,我希望在每个实例的基础上为日志输出添加前缀。我不想干扰已设置的日志记录目标。以下是我能想到的解决方案:

  • 创建一个新的记录器作为模块的子记录器,使用不同的格式化程序重新配置父处理程序:
    mylog.info(“foo”)=>prefixfoo
  • 使用info()、warn()等方法创建一个包装日志类,每个方法在调用包装日志记录器之前添加前缀:
    mylog.info(“foo”)
  • 将前缀存储在实例中并手动添加:
    log.info(self.p+“foo”)
  • 创建一个前缀添加函数,我用它手动包装所有日志调用:
    log.info(p(“foo”))
  • 显然,我更喜欢解决方案1,但我不知道如何做到这一点


    最好的解决方案是什么?我是一名Python新手程序员,所以我可能试图解决一个错误的问题:-)

    你看了吗?@BurhanKhalid没有,但它似乎取代了
    日志记录
    ,而我想与已经使用
    日志记录
    的代码集成。。。