We’re getting ready to launch the Beta version of SmartInspect 4 so we wanted to give a little sneak peek of what we have coming.
This is the fourth of a number of posts coming between now and release, this one focused on Cloud Logging. Previous posts include UI changes, multi-platform FMX support and Python support. Of course, as a beta, everything we talk about is prone to change before release.
SmartInspect has supported multiple Logging Protocols for a long time. By simply changing your connection string, you can log live to the Console via Pipes or TCP, or log offline to Memory or File. You can even log to multiple of these at once.
This flexibility has allowed our customers to use SmartInspect in many different scenarios, across server-based apps, mobile and desktop:
- We have customers who are logging live to the Console over TCP from their server-based apps in production. At any point they can bring up the Console and see in real-time what is happening across all of their backend, drilling in by server, process and even thread to narrow in on whatever they are interested in.
- Other customers are logging to File and only opening those files in the Console when they need to investigate an issue.
- We even have some who are logging to memory constantly (setting a maximum size of course) and only when an error occurs do they choose to persist that memory log to disk. This allows them the runtime performance of Memory logging, but the persistence of File logging when they want to investigate an issue.
However, even with this flexibility, we’ve heard requests from customers for a different solution that overcomes a few key limitations:
- With server-based apps deployed increasingly in the cloud, securely logging via TCP to the console is more complex. It’s possible, sure, but when you are trying to manage the complexity in your own application deployment, additional requirements of encryption, VPN’s, tunneling, etc placed on you by your logging solution are usually unwelcome.
- For desktop and mobile applications, logging to a File is great, but then getting your customers to send that file to you so that you can investigate the issue can be complicated. On the one hand, if you require your customers to jump through too many hoops, they may just not bother sending it. On the other hand, who has time to write additional functionality to make it easy to send log files, when you are already flat out writing your own features.
- In either case, you are left with a choice between investigating the issue in the Console in real time (TCP/Pipes), or after the fact (File). There’s no good way to smoothly transition from reviewing file-based logs from hours or days ago to receiving real-time log entries directly.
Introducing SmartInspect Cloud Logging
After a lot of research and experimentation, we’re very excited to introduce the first new SmartInspect Logging Protocol in years: Cloud Logging.
Cloud Logging allows you to log from your applications directly to our cloud-based receiver. Just like our other Protocols, you can log to the Cloud constantly, or log to Memory and only send to the Cloud in the case of an error.
Unlike TCP, there’s no mucking around with VPN’s or tunnels, as it’s a TLS-encrypted secure connection straight to our public servers.
Unlike File-based logging, there’s no burden placed on your customer to send the log files to you. At any time from within the Console you can browse all the cloud-based logs you’ve received, sort and filter by date, Application, or your own custom labels, and then open them directly in the Console just like any other Log.
Further, if the log you open is still actively being written to by the application, once you have “caught up” with all the past Log Entries, you will start receiving new entries in real time, just like you’re used to with TCP or Pipes.
Like SmartInspect’s other Logging Protocols, Cloud Logging is configured using a connection string, and the same SmartInspect and Session objects you are used to, so you are in total control of what you log and when.
Cloud Logging will be introduced in the upcoming beta of SmartInspect 4 across all of our supported client languages (including our new Python and multi-platform FMX clients). We’re still finalising the exact structure of the Cloud Logging plans we will offer, however during the beta we’ll open it up for free access for anyone with an active SmartInspect subscription to try.