2016-05-19 13 views
0

Ich versuche, in einem meiner Skripte in syslog zu schreiben. Hier ist der Code für logger.py:TypeError: openlog() nimmt keine Schlüsselwortargumente

from __future__ import print_function 
import os 
import sys 
import syslog 
import urllib 
import datetime 

def log(msg, level="info"): 
    msg = safe(msg) 
    if os.environ.get('debug'): 
     debugmsg = "{0} {1}".format(datetime.datetime.now(), msg) 
     print(debugmsg, file=sys.stderr) 
    syslog.openlog(ident=__file__,logoption=syslog.LOG_PID,facility=syslog.LOG_LOCAL0) 
    syslog.syslog(level, msg) 

def safe(str): 
    return urllib.unquote_plus(str) 

Wenn ich die Log-Funktion über logger.log("Hello world!") testen gehen, der Dolmetscher wirft TypeError: openlog() takes no keyword arguments.

Irgendein Einblick?

Antwort

1

Dies könnte ein Problem mit einer älteren Version von Python sein. Siehe this und that

+0

Danke. Interessant, ich führe dies unter Python 2.6.6, so ist es möglich, dass das Problem sein könnte. Ich bin mir immer noch nicht sicher, wie ich von hier aus vorgehen soll. – Jfach

+1

Sie können das Schlüsselwort arg-Verwendung zugunsten von positional löschen. Sie sind bereits in der richtigen Reihenfolge. – renemilk

+0

Das hat mein Problem behoben. – Jfach

Verwandte Themen