With ThinApp version 4.7.1 we introduced a new file found in the ThinApp Utilities folder, LogFilter.ini.
LogFilter.ini defines which APIs or APIs in which DLLs are excluded from .trace file, or from the .txt file. A properly defined LogFilter.ini can tremendously reduce the size of .trace file or .txt file without losing useful information.
– Example to generate .trace file with filtering
[ExcludedFunctionLog] kernel32.dll:GetCurrentThreadId ntdll.dll:InterlockedPushEntrySList *:memcpy
The above settings exclude the following APIs from being generated into the .trace file (and of course exclude from .txt file as well):
- All APIs in user32.dll, except MessageBoxW; - GetCurrentThreadId in kernel32.dll; - InterlockedPushEntrySList in ntdll.dll; - memcpy in any DLL.
– Example to generate .txt file (from any .trace file) with filtering
[ExcludedFunctionView] kernel32.dll:TlsGetValue *:wcslen
The above settings exclude the following APIs from being generated into the .txt file, even if they exist in the .trace file:
- All APIs in user32.dll, except MessageBoxW; - TlsGetValue in kernel32.dll; - wcslen in any DLL.
The default entries in LogFilter.ini are self-explanatory and users can just modify them to meet their need. The character * is used to match to any DLL name, and # is used for a comment line.