Lync 2013 UCCAPI Logging Configuration

Recently I've had some inquiries on changing different Lync logging options so I wanted to blog about how this can be accomplished. First let me explain a little about different type of logs created by the Lync client. If you look under the default Lync 2013 Logging location (%LOCALAPPDATA%\Microsoft\Office\15.0\Lync\Tracing) you will see both .UCCAPI and .ETL logs (along with others).

Both of these logs serve a specific purpose as it pertains to Lync. First the .ETL log will contain debugging level information that can only be opened by a Microsoft support engineer. These will be used if we can’t find the troubleshooting info we need in the .UCCAPI logs. The .UCCAPI logs will contain SIP messages (INFO, ERROR, WARN, TRACE) generated by the Lync client in a readable format. These files can be opened and viewed using the Snooper tool which can be download as part of the Lync Debugging Tools (https://www.microsoft.com/en-us/download/details.aspx?id=35453). If you need information on how to use Snooper check out the video series by Josh Jones on the Nexthop blog (https://blogs.technet.com/b/nexthop/archive/2012/04/16/troubleshooting-lync-server-2010-with-snooper-part-1.aspx).

Now let’s talk about how to set different Lync logging options by editing the registry on the client machines we want to log against. How you edit the registry will depend on your company’s computer management software of choice (SCCM, Logon Script, etc...). The UCCAPI log settings can be found under HKCU\Software\Microsoft\Tracing\UccApi\Lync and the ETL log settings are located under HKCU\Software\Microsoft\Tracing\UcClient\Lync (see below).

 You will see from here you can change options like log file location, max files, max file size, clear logs on restart, etc… Below I have listed the default settings of the more commonly used values.

UCCAPI Registry Values Description  Default value
ClearLogsOnEnable Clear logs when logging is turned on under Tools\Options. All logs will be deleted and new ones will be created. (0) = False
ClearLogsOnRestart Clear logs when computer is restarted. All logs will be deleted and new ones will be created. (1) = True
EnableFileTracing Turns tracing that creates .uccapi and .etl on or off (1) = True
EnableLogRolloverCheck Determines whether you want to check if logs need to be rolled over.  (1) = True
FileDirectory Directory in which these logs files will be stored.  %LOCALAPPDATA%\Microsoft\Office\15.0\Lync\Tracing
LogRolloverDurationInMinutes Log Rollover duration 30
MaxFiles Amount of files that will be created in the directory specified above.  3
MaxFileSize This determines how large in bytes each of the logs files specified in the "MaxFiles" will get. Should be multiples of 1mb.  52428800 bytes (50MB)
     
     
     
ETL Registry Values Description  Default value
EnableTracing Turns tracing that creates .uccapi and .etl on or off (1) = True
EnableLogRolloverCheck Determines whether you want to check if logs need to be rolled over.  (1) = True
FileDirectory Directory in which these logs files will be stored.  %LOCALAPPDATA%\Microsoft\Office\15.0\Lync\Tracing
LogRolloverDurationInMinutes Log Rollover duration 15
MaxFileSize This determines how large in bytes each ETL file will get. Should be multiples of 1mb.  300000000 bytes (~300MB)

Also under the tracing registry hive you will find that you can set additional tracing\logging settings including Lync_Secondary, LyncAddin, and LWAPlugin. Additionally if you want to tweak the logging level of each component check under HKCU\Software\Microsoft\Tracing\UcClient\Lync. You will see each component listed individually with the logging verboseness under each key (see below).

Happy Tracing!!!