Home > Blogs > VMware ThinApp Blog


LogFilter.ini explained

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

[ExcludedModuleLog]
user32.dll
[ExcludedModuleExceptionLog]
user32.dll:MessageBoxW
[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

[ExcludedModuleView]
user32.dll
[ExcludedModuleExceptionView]
user32.dll:MessageBoxW
[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.