Debug expressions are used to enable and filter server debugging in ProVide.
To enable debugging, open the Settings.ini file under your ProVide installation using a text editor and navigate to the “[Debug Log Expressions]” section.
Inside of the quotes on the row below this section, simply insert the argument you wish ProVide to log. The argument is not case-sensitive.
Comment: Should you not have [Debug Log Expressions] in your settings.ini, make sure you are running a new enough version. If you do and still don’t have it in settings.ini, stop the service, and replace [Debug log] with [Debug Log Expressions] instead.
Below is a list of available debug items:
Cache – Includes information about indexing and processing files for searching and thumbnails.
File – Includes information about file processes.
Lock – Includes information about entering and releasing locked sections which is critical to only run one thread.
Error – Information about errors ProVide would encounter.
Terminate – Includes information about any module which is shutting down.
Write – Often paired with the File item, explains what action is being taken for files.
Read – Often paired with the File item, explains what action is being taken for files.
Settings – Processes using applying settings or using settings files.
General – Information about general settings, commands and processes.
Connection – Information about connection to the server.
HTTP – Information involving HTTP and HTTPS.
Admin – Logs concerning admin privileges and the admin GUI.
FTP – Information involving FTP.
SFTP – Information involving SFTP.
TFTP – Information involving TFTP.
WebDAV – Includes information concerning WebDAV.
Gateway – Information about processes in the gateway module.
Email – Information about email settings.
Account – Includes information about working with user data.
Database – Information about any database processes.
LogManager – Any internal logs of Log Manager, the class which takes care of logging.
All – Enables all logging, also possible to use “*” instead of “All”.
It is possible to combine multiple debug items in one expression to make more specific logging. By using whitespaces in the expression you can chain items, making an inclusive relationship of the items. This way it is easier to focus on specific logging.
In addition to this, separating items using comma (,) will create a new expression, allowing more expressions to be used in debugging.
Examples:
Let’s say we have a few logs, range A to G, which contains debug items looking like:
A) “HTTP Connection”
B) “FTP Connection Lock”
C) “Connection”
D) “Connection Lock”
E) “HTTP Error”
F) “HTTP Connection Account”
G) “FTP Connection Error”
Let’s also assume our Debug Log Expression in the Settings.ini file is empty. In its current state it would not log any of the above expressions.
If we are interested in logs concerning connections to the server we would add “Connection” to our Debug Log Expression, making the value of the section look like:
[Debug Log Expressions]
“Connection”
This will log A, B, C, D and F from our logs above since all of these contains the “Connection” item. By changing our Debug Log Expressions to look like:
[Debug Log Expressions]
“Connection HTTP”
We will now instead get information about connections using HTTP and HTTPS. According to our log range above, this would include log A and F.
By adding a comma to the end of an expression it is possible to create additional expressions. The following expressions will log A and F as well as E and G:
[Debug Log Expressions]
“Connection HTTP, Error”