Problem mit basicConfig()

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
lill
User
Beiträge: 8
Registriert: Mittwoch 8. Dezember 2010, 12:03

Hi,

ich bin gerade dabei, ein Skript zu schreiben, das Verzeichnisse über das Netzwerk sichert.
Soweit kein Problem.
Jedoch sollte dazu auch ein Log geschrieben werden und das ist mein Problem :(

Hier der Ausschnitt vom Quelltext:

Code: Alles auswählen

config['LOGFILE']=config['LOGDIR']+'/backup.log'
logger = logging.getLogger('logger')
logger.setLevel(logging.DEBUG)
logging.basicConfig(level=logging.DEBUG,
          format='%(asctime)s - %(levelname)s - %(message)s',
          filename=config['LOGFILE'],
          filemode='a')
und hier der Fehler:

Code: Alles auswählen

TypeError: basicConfig() takes no arguments (4 given)
Klar, habe ich nun nach diesem gegoogled und folgendes gefunden:
Changed in version 2.4: formerly basicConfig did not take any keyword arguments.
python -V sagt: Python 2.4.3

Ich weiß echt nicht mehr weiter, wäre super, wenn mir jemand helfen könnte.

Grüße lill
BlackJack

@lill: Was gibt denn ein ``print logging`` bzw. ``print logging.__file__`` aus?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Öffne doch mal eine Python-Shell und importiere dort das logging-Modul und rufe dann mal

Code: Alles auswählen

help(logging.basicConfig)
auf. Dort solltest Du dann def. sehen, ob der benutzte Python-Interpreter Argumente erwartet bzw. akzeptiert.

Letzte generelle Frage: Wieso verwendest Du überhaupt so eine alte Python-Version? Gibt es da einen handfesten Grund? Wenn nein solltest Du unabhängig von dem Problem mal ein Update auf 2.7 vornehmen.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
lill
User
Beiträge: 8
Registriert: Mittwoch 8. Dezember 2010, 12:03

BlackJack hat geschrieben:@lill: Was gibt denn ein ``print logging`` bzw. ``print logging.__file__`` aus?
<module 'logging' from '/usr/lib64/python2.3/logging/__init__.pyc'>
/usr/lib64/python2.3/logging/__init__.pyc

hmhm.. wird wohl daran liegen :/
help(logging.basicConfig)
A number of optional keyword arguments may be specified, which can alter
the default behaviour.
Letzte generelle Frage: Wieso verwendest Du überhaupt so eine alte Python-Version? Gibt es da einen handfesten Grund? Wenn nein solltest Du unabhängig von dem Problem mal ein Update auf 2.7 vornehmen.
Ich verwende die alte Version, weil es nicht an mir liegt, die zu aktualisieren. Bin hier auf Arbeit und arbeite mit dem, was mir "geboten" wird. Ich werd Cheffe jetzt aber mal drauf ansprechen


Wenn ich das basicConfig(level=logging.DEBUG) in der Python Shell ausführe, kommt übrigens kein Fehler.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Irgend wie habe ich den Verdacht, dass Du unterschiedliche Interpreter auf Deinem System installiert hast.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
lill
User
Beiträge: 8
Registriert: Mittwoch 8. Dezember 2010, 12:03

Daran wirds wahrscheinlich liegen.
Das Problem hat sich aber grad eh erledigt, da es scheinbar nur auf meinem client auftritt und das Skript auf diesem nicht verwendet werden soll.
Auf jedenfall vielen Dank für die Hilfe!
Antworten