2013-08-17 13 views
9

Könnten Sie mir bitte helfen, was falsch ist.
Python Protokollierung typeerror

 
import logging 

if (__name__ == "__main__"): 
    logging.basicConfig(format='[%(asctime)s] %(levelname)s::%(module)s::%(funcName)s() %(message)s', level=logging.DEBUG) 
    logging.INFO("test") 

Und ich kann es nicht laufen kann, habe ich einen Fehler bekam:

 
Traceback (most recent call last): 
    File "/home/htfuws/Programming/Python/just-kidding/main.py", line 5, in 
    logging.INFO("test") 
TypeError: 'int' object is not callable 

Ihnen sehr danken.

+0

Ist das der ganze Code? – Matt

Antwort

19

logging.INFO denotes eine ganzzahlige konstante mit dem Wert von 20

INFO Confirmation that things are working as expected.

Was Sie brauchen, ist logging.info

logging.info("test") 
+2

vielen Dank, ich benutzte es in meinem vorherigen Projekt und ich fragte mich, warum es nicht funktioniert . Und ich habe den unteren Fall nicht bemerkt. Ah. – FrUh

4

Sie versuchen logging.INFO zu nennen, die eine ganzzahlige Konstante ist eine der Ebenen vordefinierten Protokollierung bezeichnet:

>>> import logging 
>>> logging.INFO 
20 
>>> type(logging.INFO) 
<type 'int'> 

Sie wahrscheinlich die logging.info() function (beachten Sie, alle Klein) stattdessen verwenden wollte:

Logs a message with level INFO on this logger. The arguments are interpreted as for debug() .

+0

Vielen Dank, ich habe es in meinem vorherigen Projekt benutzt und ich habe mich gefragt, warum es nicht funktioniert. Und ich habe den unteren Fall nicht bemerkt. Ah. – FrUh

+0

Und Sie haben das CAPS LOCK auch nicht bemerkt, wie es aussieht. :-P (Entschuldigung, du kannst nur * eine * Antwort als akzeptiert markieren, danke für die kurze Annahme!) –

Verwandte Themen