小编gme*_*die的帖子

AttributeError: 'FastAPI' 对象没有属性 'logger'

我正在将我的代码从 Python flask 迁移到 Fast-API。我在向快速 API 添加记录器时遇到问题,它将显示

“AttributeError:‘FastAPI’对象没有‘logger’属性”

请参阅代码以获取更多信息

from fastapi import FastAPI, HTTPException
import uvicorn
from logging.handlers import RotatingFileHandler
import logging

app = FastAPI()

if __name__ == '__main__':

    formatter = logging.Formatter(
        "[%(asctime)s.%(msecs)03d] %(levelname)s [%(thread)d] - %(message)s", "%Y-%m-%d %H:%M:%S")
    handler = RotatingFileHandler('/log/abc.log', backupCount=0)
    logging.getLogger().setLevel(logging.NOTSET)
    app.logger.addHandler(handler)
    handler.setFormatter(formatter)

    app.logger.info('****************** Starting Server *****************') # "AttributeError: 'FastAPI' object has no attribute 'logger'"
    uvicorn.run()
Run Code Online (Sandbox Code Playgroud)

python fastapi

6
推荐指数
1
解决办法
8061
查看次数

Windows 解释器上未定义 Namedtuple

我试图遵循的使用示例namedtuple( )文档,但我不断收到namedtuple is not defined

追溯

python tuples namedtuple traceback

3
推荐指数
1
解决办法
982
查看次数

Valgrind显示分配的内存比实际多

我在C中编写了一些简单的代码来测试一些内存分配和指针:

#include <stdlib.h>
#include <stdio.h>


int *randomAlloc(int n) {
    int *address = NULL, i = 0;

    address = malloc (n * sizeof(int));
    for (i = 0; i < n ; i++){
        *(address + i) = i ;
    }
    return address;

}

int main(int argc, char* argv[] ) {

    int *address;
    int n;
    printf("Type vector size: ");
    scanf("%d", &n);
    address = randomAlloc(n);

    free(address);
}
Run Code Online (Sandbox Code Playgroud)

但是由于某些原因,当我输入4作为输入valgrind输出时:

==2375== Memcheck, a memory error detector
==2375== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward …
Run Code Online (Sandbox Code Playgroud)

c malloc free valgrind dynamic-allocation

2
推荐指数
1
解决办法
777
查看次数

删除 Elixir 中列表元素的所有条目(不仅仅是第一个)

我发现 List.delete/2,这只删除搜索到的第一个条目。我一直在寻找删除所有条目的东西,例如

[:a, :b, :c, :a, :a]
|> List.delete_all :a

[:b, :c]
Run Code Online (Sandbox Code Playgroud)

有这样的事吗?也许像List.delete_all/2

list elixir removing-whitespace

2
推荐指数
2
解决办法
1953
查看次数

在 Elixir 中拆分字符串而不删除分隔符?

我正在寻找一种在 Elixir 中分割字符串的方法,而不删除用于分割的模式,String.split/3行为如下

String.split "testZng", "Z"
# ["test", "ng"]
Run Code Online (Sandbox Code Playgroud)

我正在寻找这样的东西

String.split "testZng", "Z"
# ["test", "Zng"]
Run Code Online (Sandbox Code Playgroud)

或者像这样

String.split "testZng", "Z"
# ["testZ", "ng"]
Run Code Online (Sandbox Code Playgroud)

regex string split elixir

2
推荐指数
1
解决办法
638
查看次数