Jadi Nodejs hadir dengan variabel global default yang disebut '__fileName'yang menyimpan file saat ini dieksekusi. Saran saya adalah meneruskan __fileName ke layanan dari file apa pun, sehingga pengambilan fileName menjadi dinamis
Di bawah, saya menggunakan string fileName dan kemudian membaginya berdasarkan path.sep. Catatan path.sep menghindari masalah dengan pemisah file posix dan pemisah file windows (masalah dengan '/' dan '\'). Jauh lebih bersih. Mendapatkan substring dan hanya mendapatkan nama yang terpisah terakhir dan menguranginya dengan panjang actulal sebanyak 3 berbicara untuk dirinya sendiri.
Anda dapat menulis layanan seperti ini (Catatan ini dalam bentuk naskah, tetapi Anda dapat menuliskannya dalam js)
export class AppLoggingConstants {
constructor(){
}
// Here make sure the fileName param is actually '__fileName'
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();
path.basename(fpath, path.extname(fpath))