When you face a problem and our support team is unable to reproduce it on our side, we often ask you for a debug log.
Logs with release DLLs
With the 2.6 version, you can collect logs with release DLLs of the SDK. With this version, you have a specific DLL in the installer of the SDK - Medialooks.MLLog.x64.dll and Medialooks.MLLog.x86.dll. Once the DLL is registered on a machine where you have a problem, you have the following branch in the system registry:
Computer\HKEY_CURRENT_USER\SOFTWARE\Medialooks\MFormats\MFFactory\MLLog
If you need to debug the Windows service application, you have to use
Computer\HKEY_USERS\.DEFAULT\Software\Medialooks\MFormats\MFFactory\MLLog
It contains the following properties
Name | Default value | Description |
---|---|---|
log.files | 10 | Limits the number of LOG files collected from a single module in a target folder. |
log.modules |
Lists the modules to collect logs from. Use "all" to collect from all the DLLs. Use "mserver" to collect logs from external processes (decoding or encoding). Use a name of a DLL to collect from a specific module, e.g. "Device.DS", or "Mixer", or "MFWriter". To collect logs from several modules at the same time, list them with a comma as a separator, e.g. "Plugin.CG, MFReader".
Collect all dlls logs example: log.modules = all
Collect the logs for Medialooks.MFReader.dll and Medialooks.MFWriter.dll example: log.modules = MFReader, MFWriter
Collect the logs for Medialooks.File.dll and Medialooks.WriterFFM.dll example: log.modules = File, WriterFFM |
|
log.path | Path to a folder to store the logs. If empty, the log is stored in the executable folder (where the main EXE is stored). | |
log.roll | 100mb | Limits the file size of each log. Once a log reaches the limit, a new file is generated. Set 0 to disable the rolling. |
log.verbosity | 0 |
Log level. Possible values:
|
So, for example, you have a problem with a file playback. You can check the DLL name of an object -- either by checking the redistributed files or with a code like this
myReader.PropsGet("dll-path", out string dllPath);
Then you might use a file name (e.g. "Medialooks.MFReader.x86.dll") or a shorter name of the file (without the "Medialooks." and "x86.dll") -- "MFReader", and use this as a value of the log.modules property. Then, set a path to a target folder with the log.path. Now you are good to go to collect the logs. Start your application, get the problem reproduced -- at this moment, the logs should be available. Close the application, and share the logs with our support engineers.