Ich möchte die Linienbreite von Scrapy-Protokollen erhöhen. Ich logge mich in eine Datei ein. Wenn Scrapy protokolliert (vorausgesetzt, es ist pprint), werden die Zeilen bei 80 umbrochen. Ja, das ist die Standardeinstellung für Pythons pprint. Wie kann ich das also ändern? Ich wäre mit 1.000 oder gar keiner Verpackung einverstanden.
Ich möchte eigentlich keinen Wrapping in den Protokollen von Scrapy.
Ich habe Optionen in Settings.py ausprobiert, sogar einen benutzerdefinierten LogFormatter. Ich habe „dropped“ in meinen LogFormatter eingefügt, da es eine der Methoden zur Ausgabe des Elements ist (was wie die Ausgabe von „pprint“ aussieht). Ich könnte die WARNUNG in INFO ändern (was ich möchte), aber die Breite ändert sich dadurch nicht.
Code: Select all
item_str = pprint.pformat(item, width=1000, compact=True)
return {
'level': logging.INFO, # lower level from logging.WARNING
'msg': "Dropped: %(exception)s\n%(item)s",
'args': {
'exception': exception,
'item': item_str,
}
}
Ich habe mindestens ein Dutzend Vorschläge von ein paar KI-Assistenten ausprobiert. Ich kann nichts finden, was funktioniert. Es muss möglich sein, die Protokollierungsbreite von Scrapy für alles zu ändern, was es in die Protokolldatei ausgibt. Es ist nur ein Standard-Druck, oder? Ich verwende Scrapy 2.13.3 und es verwendet das Protokollierungsmodul von Python.