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:
If you need to debug the Windows service application, you have to use
It contains the following properties
|log.files||10||Limits the number of LOG files collected from a single module in a target folder.|
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 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.