我們的日誌框架,最喜歡的日誌框架,採用__FUNCTION__
預處理宏插入當前功能到日誌文件,以便我們的記錄是這樣的:當lambda內部有記錄函數名稱的好方法嗎?
L4 T11332 609661594 [PreProcessorFunctions::RegenerateLinkIDs] [ENTER]
L4 T11332 609661594 [PreProcessorFunctions::RegenerateLinkIDs] [EXIT]
L4 T11332 609661594 [ConfigMerger::ValidateConfigObject] [ENTER]
L3 T11332 609661594 [ConfigMerger::ValidateConfigObject] Configuration Exists: 1
正如我們已經開始使用C++ 11多個,我注意到labmdas產生精確又無益__FUNCTION__
輸出:
L4 T9604 609661594 [`anonymous-namespace'::<lambda1>::operator()] Writing EMX config file: C:\windows\TEMP\CBE01448-32A2-493A-A9A1-2112F5709028\CA37BE5C-B398-4D61-980D-66B8E1E6D001\\EMXConfiguration.xml
L4 T11332 609661594 [`anonymous-namespace'::<lambda3>::operator()] Writing Auditing config file: C:\windows\TEMP\CBE01448-32A2-493A-A9A1-2112F5709028\CA37BE5C-B398-4D61-980D-66B8E1E6D001\\Auditing.xml
L4 T11960 609661594 [`anonymous-namespace'::<lambda2>::operator()] Writing UEM config file: C:\windows\TEMP\CBE01448-32A2-493A-A9A1-2112F5709028\CA37BE5C-B398-4D61-980D-66B8E1E6D001\\Configuration.xml
正如你所看到的,所有的類範圍已丟失,所有我們現在知道的是,這個記錄聲明來自一個匿名拉姆達來了。有沒有人有一個好的策略來註銷封閉函數?這似乎是最有用的東西記錄...
http://stackoverflow.com/questions/4434282/visual-c-equivalent-of-file-line-and-pretty-function什麼是__FUNCSIG__給lambdas? – BoBTFish
哈哈,VS2012示出:'wmain :: ::運算符()' –
Benj
至少它示出了封閉函數... – Benj