Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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_Logging_Import - Fatal编程技术网

Python &引用';非类型';对象没有属性';信息'&引用;调用日志配置函数后

Python &引用';非类型';对象没有属性';信息'&引用;调用日志配置函数后,python,logging,import,Python,Logging,Import,我想将logger函数logger_main(名称)从文件logger.py导入同一目录/generalscript中的另一个文件。该目录在PyCharm中标记为Source,在/generalscript中还添加了一个文件init.py 所以我从generalscript.Logger导入它 记录器如下所示: def logger_main(名称): 对于logging.root.handlers[:]中的处理程序: logging.root.removeHandler(handler) lo

我想将logger函数logger_main(名称)从文件logger.py导入同一目录/generalscript中的另一个文件。该目录在PyCharm中标记为Source,在/generalscript中还添加了一个文件init.py

所以我从generalscript.Logger导入它

记录器如下所示:

def logger_main(名称): 对于logging.root.handlers[:]中的处理程序: logging.root.removeHandler(handler) logger=logging.basicConfig(文件名=“{}.log.”格式(名称), 级别=logging.INFO, 格式='(asctime)s,%(毫秒)d%(levelname)-8s[%(文件名)s:%(行号)d](消息)s', datefmt=“%Y-%m-%d:%H:%m:%S”) 返回记录器 我导入它的文件如下所示:

#导入模块
导入操作系统
导入pyodbc
从sqlalchemy导入创建引擎
导入URL库
导入json
从GeneralScript.Logger导入Logger_main
导入日志记录
#证书
以open('cred_db','r')作为文件:
cred_db=json.load(文件)
#设置记录器
日志记录=记录器\u主('DB'))
def connect_to_db():
“”连接到控制营销的数据库。
:return:引擎实例
"""
尝试:
params=urllib.parse.quote_plus('DRIVER={DRIVER};SERVER={SERVER};DATABASE={DATABASE};UID={UID};PWD={PWD};Port={Port};'。格式(**cred_db))
engine=create_engine('mssql+pyodbc://?odbc_connect={}'。格式(参数))
logging.info('连接到DB控制_Marketing')
回程发动机
例外情况除外,如e:
logging.error(“发生异常,检查def connect_to_db”,exc_info=True)
#运行它
引擎=连接到数据库()
当我运行它时,会出现异常

logging.info('连接到DB控制\u营销')
AttributeError:“非类型”对象没有属性“信息”
logging.error(“发生异常,检查def connect_to_db”,exc_info=True)
AttributeError:“非类型”对象没有属性“错误”
我检查了导入其他函数,它工作正常,问题只在于记录器。
我不知道为什么

日志记录。basicConfig
不返回任何内容(从技术上讲,它返回的是
None
)。因此,
logger\u main
的返回值是
None
,这解释了您得到的错误

你有:

不要将
logger\u main('DB')
的结果分配给
日志记录
,这样当您调用
logging.info
时,
日志记录
仍然引用日志记录模块:

import logging
…
logger_main('DB')    # do not assign
…
logging.info('...')  # now logging is the logging module

logging.basicConfig
不返回任何内容(从技术上讲,它返回
None
)。因此,
logger\u main
的返回值是
None
,这解释了您得到的错误

你有:

不要将
logger\u main('DB')
的结果分配给
日志记录
,这样当您调用
logging.info
时,
日志记录
仍然引用日志记录模块:

import logging
…
logger_main('DB')    # do not assign
…
logging.info('...')  # now logging is the logging module

首先,我会尝试重命名您的
logging
变量,使其与
logging
模块没有冲突。我刚刚尝试重命名,但不幸的是,它没有帮助。它不断抛出sa,e错误。首先,我会尝试重命名
日志记录
变量,使其与
日志记录
模块没有冲突。我刚刚尝试重命名,但不幸的是,它没有帮助。它不断抛出sa,e错误。我们刚刚尝试重命名,但不幸的是,它没有帮助。它不断抛出sa,e错误。你到底改变了什么?请编辑您的问题,以显示您正在使用的实际代码,并请包含完整回溯的错误消息。如果读取错误,请立即获取答案,删除变量。现在它工作了,谢谢!刚刚尝试重命名,但不幸的是,它没有帮助。它不断抛出sa,e错误。你到底改变了什么?请编辑您的问题,以显示您正在使用的实际代码,并请包含完整回溯的错误消息。如果读取错误,请立即获取答案,删除变量。现在它工作了,谢谢!