Log Window

The Log window uses the logging service to provide a record of activities during a Manifold session.   


Open the Log window with View - Panes - Log Window menu command.




Each log entry provides the date, time and the event which is prefixed with an event type indicator using the following characters:









Messages from scripts


Parallelization coefficient in a render result


Messages from highly transient activities such as rendering times are marked with a blank type indicator.   For example, in the illustration above the five lines indicating rendering times for a map have a blank type indicator while the preceding five messages are preceded by the double-dash -- indicator for regular messages.    The screen shot shows times to open a project and then to open and to display a map window with three layers, which show all lakes, water areas and watercourse lines in Australia.


Log messages from dataports include the full path to the relevant data source.  Log messages from windows include the full path to the relevant component or data source. Running a query from the Project pane logs the execution time and running a script from the Project pane or from a script window logs the execution time as well.




The Log window will report rendering times for map windows and will report after an @ character the parallelization coefficient achieved in rendering, with a higher coefficient better.  In the example above involving very large vector data the lower value of 2.0 involved a zoom or pan operation in which the contents of few layers were visible while the last value of 8.1 most probably involved a Zoom to Fit operation where the contents of many layers with many objects were visible in the view.   Small data sets will often show low parallelization coefficients  because with small data it is quicker to simply render the data in a single thread than to launch multiple rendering threads on multiple processors.


The Log window can be docked or undocked like other windows with an Alt-Click and it can be moved to the second row of docked window tab with a Ctrl-Click like other windows.


for more verbose information in the Log window when launching a query from the Command Window, run the !fullfetch directive.  The !fullfetch directive toggles more verbose information reporting on/off in the Log to include the time required, number of records involved and size of data involved.   To run this directive, enter !fullfetch in the Command Window, highlight the !fullfetch text and press Alt-Enter to run just the highlighted text.   !fullfetch works both with Manifold queries as well as queries executed within an external query engine.


Caution: Enabling !fullfetch can dramatically reduce performance.  Do not use !fullfetch with large jobs.


Logging Files


The logging service automatically saves a log containing all log entries for which the event type indicator is not blank to a file using UTF8 text file format.  Highly transient activities such as rendering times which are marked with a blank type indicator are not saved to the log file.


By default, log files are written to the Windows folder for user application data,  C:\Users\User\AppData\Local\Manifold\v9.0, (where User is the login name of the user who launched Manifold) but if desired we can change that location to one of the Manifold system folders such as the shared folder if our user login has write privileges to that folder.


To do so, we create a blank manifold.loghere file in the desired folder.  For example, within the shared folder we can create a logfiles folder and within the logfiles folder we create a blank manifold.loghere file.   Thereafter logging files will be created in the ~\shared\logfiles folder.


As a practical matter most users will not have write permissions to Manifold system folders so they will leave their logfiles in the default path of C:\Users..., but in the case where we are using a portable installation and have full control with write permission to the Manifold system folders we can change the path for logfiles to a system folder.


Manifold starts a new log file every day.   A working session of Manifold will use the log file for the day it was launched. If the log file for the current date is locked by a different Manifold session, the system will create a different log file for the same date with a unique postfix.


If Manifold is used from another application all logging is turned off.


The log also records the results of loading system libraries and non-system libraries on startup.   Successful loads of system libraries report nothing, successful loads of non-system libraries report the full path of the loaded module (useful when there are multiple modules with the same name) and failed loads report errors both for failed loads of system libraries as well as failed loads of non-system libraries.



Character Limitation - Logs are limited to 4 MB of characters.



See Also


Command Window