R Anzeigename des Skripts protokollieren
Dies ist ein Musterbeispiel für meine aktuelle Ausgabe:
Im Moment habe ich ein Projekt mit mehreren R-Skripten (alle im selben Verzeichnis namens DIR). Ich habe ein Hauptskript in DIR, das alle R-Dateien enthält und eine grundlegende Konfiguration enthält:
basicConfig()
Ich verwende zwei Skripte in DIR, dog.r und cat.r. Ich habe derzeit nur eine Funktion in diesen Skripten. In dog.r:
feedDog <- function(){
loginfo("The dog is happy to eat!", logger="dog.r")
}
Und in Kat.r:
feedCat <- function(){
loginfo("The cat is voracious", logger="cat.r")
}
Mit diesem Beispiel ist es in Ordnung. Aber in Wirklichkeit habe ich ungefähr 20 Skripte und 20 mögliche Fehlermeldungen in jedem. Also, anstatt zu schreiben:
loginfo("some message", logger="name of script")
Ich würde gerne schreiben:
loginfo("some message", logger=logger)
Und konfigurieren Sie verschiedene Logger. Das Problem ist, dass, wenn ich in jedem R-Skript einen Logger deklariere, nur einer berücksichtigt wird, wenn ich alle Dateien mit meinem Haupt ... Ich weiß nicht, wie ich dieses Problem umgehen soll.
PS: In Python ist es möglich, in jeder Datei einen Logger zu definieren, der automatisch den Namen des Skripts wie folgt übernimmt:
logger = logging.getLogger(__name__)
Aber ich fürchte, es ist nicht möglich, in R?