by David Warren,
Senior Software Engineer, CCF Solution Architect
In today’s world, having great software is not enough. To be successful, software must also be supportable. Keeping a record of what the software is doing and has done enables after-the-fact diagnosis and makes remote support much more efficient. As an additional benefit, this information can also be displayed live to the GUI, giving the operator additional insight into what is happening. Having a record makes it possible to determine if the software is working correctly or incorrectly. In Cimetrix’s new tool control software, CIMControlFramework™, this functionality is provided by the Logging package.
The CIMControlFramework Logging package provides an MxN information delivery system—the logging package receives information from multiple sources and delivers it to multiple destinations. These sources may be different software components or instances within the same process. They may even be in other processes on the same or different computers. Likewise, the destinations may also be distributed. Some destinations may store the information for a few seconds or minutes, like printing to a console or displaying on a GUI. Other destinations may store information for many days or indefinitely in a database or file.
Logging is a two-edged sword however. There is a balance between information and performance. Storing too much information can adversely affect performance. Storing too little information boosts performance, but limits the benefits of logging. Too often the mindset is to turn logging off most of the time, and only turn it on when trying to solve a problem. I think it is more effective to turn on as much logging as possible—and then leave it on all the time. It may be necessary to limit the information flow to CPU intensive destinations to maintain acceptable performance, but it is worth it. By leaving logging on all the time, it is possible to find those problems whose descriptions start with “This only happened once, but…”
Logging enables passionate support. Just as surveillance cameras can provide more information than an eyewitness, a log record can provide more information than a customer incident report. The additional information is usually crucial in finding root causes and resolving customer issues quickly. And that’s something we are all interested in.