如何在postgresql表中插入python日志?

如何在postgresql表中插入python日志?,python,postgresql,logging,postgresql-12,Python,Postgresql,Logging,Postgresql 12,我需要将测试用例中的日志插入postgresql数据库中的表中 我能够连接到数据库,但我不知道如何在选项卡中插入这一行结果,我尝试了下面的方法,但它不起作用 import logging import psycopg2 from io import StringIO from config import config params = config() conn = psycopg2.connect(**params) print(conn) curr = conn.cursor() try:

我需要将测试用例中的日志插入postgresql数据库中的表中

我能够连接到数据库,但我不知道如何在选项卡中插入这一行结果,我尝试了下面的方法,但它不起作用

import logging
import psycopg2
from io import StringIO
from config import config
params = config()
conn = psycopg2.connect(**params)
print(conn)
curr = conn.cursor()
try:

        if not hw.has_connection():
            logging.error('Failure: Unable to reach websb! ==> '+ str(driver.find_element_by_xpath('//span[@jsselect="heading" and @jsvalues=".innerHTML:msg"]').text))

            return

        elif hw.is_websiteReachable():
            logging.info("Success: website is reachable!")

            curr.execute("""INSERT INTO db_name(logs) VALUES (%s)""", ("Success: website is reachable!"))
             conn.commit()
  except:
        logging.error("Failure: Unable to reach website!")
        return

我在这方面完全是个初学者。我已经找过了,但找不到一个明确的例子或指南。即使可以访问网站,上述代码也会引发异常。对不起,如果我听起来很笨

看起来您的SQL语句构造不正确。它应该是
INSERT-INTO-table\u-name(列名称)…而不是
INSERT-INTO-table\u-name(表名称)…
。如果已在连接设置中正确连接到相应的数据库,则通常不必在每次编写SQL时指定数据库名称

因此,我建议进行以下修改(假设您的表名为
logs
,并且有一列名为
message
):

#。。。
sql='插入日志(消息)值(%s);'
msg='成功:可访问网站!'
当前执行(sql,(msg))
康涅狄格州提交
如果有助于用Python将命名参数传递给SQL查询,您还可以阅读
pyscopg2
文档以了解更多信息。

您可以检查我个人是否在我的服务器内项目中使用。您只需要给CRUD对象一个连接字符串,所有的事情都会完成。对于Postgres,您可以使用:

'postgresql+psycopg2://username:password@host:port/database'


有关更多详细信息,请查看。

谢谢,但我正在寻找一种方法,将日志从日志直接发送到数据库,就像filehandler方法一样,而是发送到数据库
'postgresql+pg8000://username:password@host:port/database'