Reading the versaSRS Services Log Files
Each Service performs a clean-up of any log files that are older than the set retention value for the Global Setting LogFilesRetentionDays (default set to 3 days), if you are finding that you often need to review logs from a date further back in time you will need to adjust this value.
versaSRSServiceMonitor
The Service Monitor will check if each Service is in sync by confirming its timestamp is within the threshold value set, or if there has been a forced restart (an Admin has clicked the Restart option in the System Info window within versaSRS). If it is out of sync an alert will appear in versaSRS, and if it is out of sync over the threshold value the Service Monitor will attempt to restart the Service. It will also send an email to the configured recipients to inform them of the stop. If the Service has failed more than the configured ErrorThreshold value it will not be restarted and the log file will state this. The issue will need to be diagnosed and resolved, and the Service restarted manually on the server via the Services application.
versaSRSMailIn
The first relevant section of the log shows what email account is being logged in to, it then shows the Inbox folder specified for the account (if certain emails are not being processed by versaSRS confirm that there are no Exchange rules that are moving them to a different folder). This is where you will see the 401 Unauthorized error if it is going to occur. If required it is possible to change how much information is shown in this log by increasing the config file value “VerboseLogging”.
The Service then identifies the Subject line of the email as well as the To and From email addresses, if no Case ID/Ticket Number is found for the email these will be used to determine how this email gets logged as a Case.
Next it tries to determine whether this email belongs to an existing Case by searching for a valid Case ID/Ticket Number.
If no Case ID/Ticket Number is found the next available value is assigned. The Service begins to process any attachments included with the email and log them into the database.
The Service then uses the To, From, and Subject line (as well as the message body content) to determine if any existing Routing Rules (explained further below) apply to this email, if they do the Case will be logged based on the Routing Rule. If not the Case will be logged based on the Queue column of the Email Configuration section (tbl_Mailboxes), or using the Team set for the Global Setting DefaultQueue (tbl_ApplicationSettings).
One of the last steps is to use the Global Setting ContactLookupQuery (full query displayed in log) to determine if the Requestor (From email address) matches a known versaCRM Record. If it does it will assign the Requestor information available, if not it will use the name configured with the From addresses email client to set the Requestors first and last name.
Finally, the Service deletes the email from the mail server and logs out of the account.
versaSRSMailOut
The MailOut Log contains basic sending information for emails sent by versaSRS, it is possible to change how much information is shown in this log by increasing the config file value "ExtendedLogging".
The Service receives instructions to send an email, it first identifies the Team that the Case Update is being sent from to determine whether the Team SMTP settings or the Global configuration will be used to send the email. The Team Timezone setting is also used to set the time zone that the email was generated from. It then attempts to log into the sending account, here is where you will see the 401 Unauthorized message if the credentials are incorrect.
It then displays the basic To and From details of the email to be sent. Set the ExtendedLogging value to be 1 if you need to perform troubleshooting that allows you to see the Subject line. The next line "Mail Queued Ok for delivery" denotes that the email has been sent.
The Service then determines whether any Watcher (a person who receives email updates when certain actions occur for a new Case, existing Case, Team, or Skill Group) notifications need to be sent, if so they are generated and sent to the assigned Watcher(s).
versaSRSScheduler
When it gets to the scheduled time for one of the Cases or Reports to be initiated the Service will generate the required record based on the configured Schedule. In the example it is logging a Scheduled Case, the numeric ID of the Schedule being run is displayed here.
It then resumes its regular tasks of checking for any existing Dormant Records that have reached their scheduled logged date and need to be set to "New".