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))