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?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage