Troubleshooting with Log Files

In typical workflows, it shouldn’t be necessary to look at the Trimble Positions log files. However, when trying to diagnose problems or understand what’s going on in more detail, consulting the log files is a necessary step.  In addition, you will almost always be asked to include the log files when submitting a support issue to your dealer or Trimble Support.

The log file for the Trimble Positions Desktop add-in is easy enough to find (note: all paths in this post follow the Windows 7 format):


As with other applications, the logging ‘level’ can be set to control how much detail gets included in these log files. By default, we use the ‘INFO’ level but it sometimes can be useful to change this to ‘DEBUG’, particularly when trying to reproduce a problem for support.

The tricky part, particularly for the Trimble Positions Desktop add-in, is figuring out where to make this change. When ArcMap first encounters a newly registered add-in, it will unpack the .esriAddIn file to a temporary (hidden) storage location called the AssemblyCache:


It is from here that the add-in actually executes. So one option for changing the debug level is to edit the PositionsDesktopAddIn.dll.config file in the AssemblyCache subfolder named {53B8FB5F-6061-4667-84B8-ADE5C76D6BE3}. Open the file in a text editor and look for the <log4net>…</log4net> section. You only need to make one change for the <level>:

<logger name="Trimble.Positions">
  <level value="DEBUG"/>

In some cases, this change will stick and you will see additional messages in the log. However, ArcMap has its own logic for refreshing the files in the AssemblyCache and your changes may get overwritten (e.g., the next time ArcMap loads) with a fresh copy of the .config file. To work around this, you can copy/paste the entire <log4net>…</log4net> section into a new file called log.config that should be placed in the folder that corresponds to the single-user or all-user configuration.

For single-user configurations (also, where the log files themselves are stored as described above):


For all-user configurations:


The <log4net>…</log4net> text that you copied into this file is not specific to the machine and thus the log.config file can be shared with other users as necessary. It will also persist across version upgrades along with the rest of the settings.

This entry was posted in Configuration, Tips and Tricks. Bookmark the permalink.