Nodejs wird standardmäßig mit der globalen Variable namens '__fileName'
geliefert, die die aktuell ausgeführte Datei enthält. Mein Rat ist, den __fileName von jeder Datei an einen Service zu übergeben, damit die Abrufung des Dateinamens dynamisch erfolgt
Im Folgenden verwende ich den Dateinamen-String und teile ihn dann basierend auf dem path.sep
auf. Beachten Sie, dass path.sep Probleme mit posix-Dateitrennzeichen und Windows-Dateitrennzeichen (Probleme mit '/' und '\') vermeidet. Es ist viel sauberer. Das Abrufen des Teilstrings und das Erhalten nur des letzten getrennten Namens und das Subtrahieren davon mit der tatsächlichen Länge um 3 spricht für sich selbst.
Sie können einen Service wie diesen schreiben (Beachten Sie, dass dies in TypeScript ist, aber Sie können es genauso gut in JavaScript schreiben)
export class AppLoggingConstants {
constructor(){
}
// Stellen Sie hier sicher, dass der Dateiname-Parameter tatsächlich '__fileName' ist
getDefaultMedata(fileName: string, methodName: string) {
const appName = APP_NAME;
const actualFileName = fileName.substring(fileName.lastIndexOf(path.sep)+1, fileName.length - 3);
//const actualFileName = fileName;
return appName+ ' -- '+actualFileName;
}
}
export const AppLoggingConstantsInstance = new AppLoggingConstants();