Vault Standard clients can be configured to log certain operations to a file for support and debugging purposes. Vault Standard clients that can be logged include the Vault Standard GUI client, the IDE client, the command line client, and the Shadow Folder plugin (since it is actually a client of the Vault Standard server, too).
Note that the IDE client also has an additional log file (see below) that can be turned on that just logs the calls from Visual Studio, which can often be helpful in tracking down IDE issues.
Except for the Shadow Folder plugin, the log is disabled by defult (the Shadow Folder plugin only logs errors by default; you’ll need to edit the file to see more verbose messages). You can enable the log file by editing the application’s <app>.config file for the executing assembly. The locations of the <app>.config files for the various clients are found below.
Vault Standard GUI Client – VaultGUIClient.exe.config
This file can be found in the folder where the Vault Standard client executables are installed, usually C:\Program Files\SourceGear\Vault Standard Client
Shadow Folder – Web.config
This file can be found in the folder where the Shadow Folder plugin is installed,
usually C:\Inetpub\wwwroot\VaultService\VaultShadowFolder
Visual Studio .Net 2003 – devenv.exe.config
This file can be found in the folder where the Vault Standard client executables are installed, usually C:\Program Files\SourceGear\Vault Standard Client.
Visual C++ 6 – msdev.exe.config
This file is not installed with the Vault Standard clients. Copy VaultGUIClient.exe.config to create msdev.exe.config in the folder where the Vault Standard client executables are installed, usually C:\Program Files\SourceGear\Vault Standard Client.
Visual Basic 6 – vb6.exe.config
This file is not installed with the Vault Standard clients. Copy VaultGUIClient.exe.config to create msdev.exe.config in the folder where the Vault Standard client executables are installed, usually C:\Program Files\SourceGear\Vault Standard Client.
Open this file in Notepad or some other text editor. The logging sections can be found near the end of the file. The relevant settings look like:
<appSettings> <!-- enableLogging turns on client-side logging to a file in your temp directory (%TEMP%). If you think you have this file configured properly, but no log file appears in your temporary directory, check the system event log (we send messages there if we can't open the log file). <enableLogging> settings: value="[true|false]" - When true logging is enabled, when false no messages will be logged. --> <add key="enableLogging" value="false" /> <!-- classesToLog lets you filter some log messages by class name. SourceGear support will be able to suggest the appropriate class names to use for specific problems. "all" will result in lots and lots (really) of messages. <classesToLog> settings: value="class1,class2,class3,..." - Log these classes; separate with commas. value="all" - Log all messages from all classes. --> <add key="classesToLog" value="" /> <!-- includeLoggingStackTraces includes stack traces with each log message in the client-side log. enableLogging must be set to "true" for this to have any effect. <includeLoggingStackTraces> settings: value="[true|false]" - When true stack traces are included, when false they are not. --> <add key="includeLoggingStackTraces" value="false" /> <!-- includeThreadInfo includes thread names and IDs with each log message in the client-side log. enableLogging must be set to "true" for this to have any effect. <includeThreadInfo> settings: value="[true|false]" - When true thread info is included, when false it is not. --> <add key="includeThreadInfo" value="true" /> </appSettings>
Set the enableLogging setting’s value to true to enable logging. However, this alone won’t be very useful, because you also need to enable specific classes for logging.
If you simply enabled logging but didn’t set any classesToLog, you’ll see very few messages in the log file. You’ll want to change the classesToLog setting’s value to something other than the default to start seeing helpful information. Here are some of the available logging classes, which you can combine in a comma separated list as per the comment’s example. Not all of them apply to all Vault Standard clients; for example, shadowfolder only applies to the Shadow Folder service. Remember than you’ll need to restart your client for these changes to take effect.
All – Enable all messages to be logged. This include very low-level (and numerous) events such as the mutex take/release, working folder creation/deletion, etc. The class string will appear in the log file with each message, so they can be grepped.
Mutex – Mutex creation, take, release, and disposal
Wf – Working folder creation, lock, unlock, disposal
Refresh – The work the client does to request, retrieve, apply a tree structure delta from the server, and save the results to disk.
Get – the work the client does to request files from the server, download them, and send them to the update thread..
Checkoutlist – Writes our the partial check out lists as they are received from the server, and the full in-memory list after they have been merged.
Mergebranches – Logs information about the merge branches process
Shadowfolder – Logs information about Shadow Folder operations.
You can always specify all if you are not sure where the problem is, but your log file may be huge.
You can find the log file in the %TEMP%
directory of the user running the
Vault Standard client. If you’re running the standalone GUI client or
the IDE client, simply open a Windows Explorer window and type %TEMP%
into
the location bar at the top and press Enter to find this folder. The file will be named
something like “VaultGUIClient.txt
”.
If you want to find the Shadow Folder’s log file, look in the temporary directory of
the user the web service runs as. Usually, this is the ASPNET user, whose temp folder is
something like C:\Documents and Settings\<machine name>\ASPNET\Local
Settings\Temp
. If you have configured the Shadow Folder service to run under an
impersonated account, check that users’s Local Settings\Temp
folder.
In addition to the log file above, the IDE has an additional log file that just outputs calls from Visual Studio. This is often helpful in determing issues related to Visual Studio (instead of issues within the Vault Standard operations libraries).
To activate this log, create a registry entry named SCCLogFileName
in
HKEY_LOCAL_MACHINE\SOFTWARE\SourceGear\Vault Standard Client
. The value of
SCCLogFileName
is the path to the log file that you want to create. Once
this registry entry exists, the IDE will log entries to it, after the next restart of the
IDE.