簡體   English   中英

Python使用日志記錄SQL錯誤

[英]Python log SQL errors with logging

為什么EXCEPT無法捕獲名稱解析錯誤? 另外,我該如何獲取錯誤文本並將其扔到記錄器工具中? 謝謝。

logging.basicConfig(filename = "{}.log".format(sys.argv[0]), level=logging.DEBUG)

def simpleLogger(something):
     try :
         something
         logging.info("Iteration fine")
     except :

         logging.warning("Something bad happened!")

 def doSometh():
     conn = psycopg2.connect(host = "1x18.249.21" , user = "tima",  dbname = "tima")
     curr = conn.cursor()
     sql = "select * from app_catalog;"

     curr.execute(sql)

     print curr.fetchall()

 def main():
    simpleLogger(doSometh())


 if __name__ == '__main__':
     sys.exit(main())

這是產生的錯誤:

conn = psycopg2.connect(host = "172.x18.249.21" , user = "tima",  dbname = "tima")
File "/apps/appeng/python-2.7.3/lib/python2.7/site-packages/psycopg2/__init__.py", line   179, in connect   connection_factory=connection_factory, async=async)
psycopg2.OperationalError: could not translate host name "172.x18.249.21" to address: Name or service not known

如果這代表您的實際代碼結構,則實際上是在將doSomething()函數傳遞給simpleLogger時調用該函數, 而不是傳遞可調用的對象,然后再調用它。 因此執行不會在try / except塊內進行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM