Bu nedenle Nodejs '__fileName', yürürlükteki dosyayı yürüten varsayılan genel değişkenle birlikte gelir . Tavsiyem __fileName öğesini herhangi bir dosyadan bir hizmete aktarmaktır, böylece fileName dosyasının alınması dinamik hale getirilir
Aşağıda, fileName dizesini kullanmak ve sonra dayalı bölmek path.sep. Path.sep, posix dosya ayırıcıları ve windows dosya ayırıcıları ile ilgili sorunları önler ('/' ve '\' ile ilgili sorunlar). Çok daha temiz. Alt dizeyi almak ve sadece son ayrılmış adı almak ve aktüatör uzunluğu ile 3 çıkarmak, kendisi için konuşur.
Böyle bir hizmet yazabilirsiniz (Bu, daktilodadır, ancak js'de çok iyi yazabilirsiniz)
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))