June 5, 2020
As anyone that has ever had to debug a software issue will tell you log messages are very important, they are the most useful and most used tool for debugging an issue in a remote or distributed environment. However, as anyone that has ever had to debug a software issue will tell you, log messages are the worst! They are frequently missing that data that is needed, are set to the wrong log level, are lost is the sea of log lines that pour our when at debug log levels or in the worst case are simply missing.
At nerd.vision we have also suffered from these problems, so we decided we should fix the problem. What we have come up with is a way to dynamically affect the applications logging without having to restart or change the configuration of your application.
We have developed a way of injecting log messages anywhere into you application that can contain any information that you need from your application.
With nerd.vision installed on your application, you can use our intuitive user interface to create a Log Point that can augment your existing application logs to add the information you are missing to help you solve the problems you are having.
Lets take a look at the above example, in the code you can see we have a log message that is currently set to debug. However, we suspect an issue that this code is getting incorrect values, so we want to inspect the values of the key. Normally we would either have to change the log level, normally requiring a restart or if the service has the ability to change it dynamically this will result in lots of logs messages. With nerd.vision we can simply add a log message on ling 62 that will log the key out for us.
From the image above you can see the log point in yellow that was created in nerd.vision, this will be installed by the nerd.vision agent on your applications. Then when line 62 is executed the log message will be output to the application standard out, or file (configurable in the agent). The message is also sent up to the nerd.vision UI so you can inspect the value immediately in nerd.vision.
So as you can see with nerd.vision log points you can easily create and modify log message from your application without a restart or configuration change. This allows you to get the information that is missing from your logs without having to add more log lines and redeploy the application.
We know that log messages are the tool most developers go to for the answer to the issues in production environments. We hope that with the power of nerd.vision we can help to enrich the log messages from your apps more easily.
We are constantly looking for ways to improve nerd.vision, and to help our users. We want to move forward with the log points feature to include integrations into your existing log services like Splunk and logz.io. If you have any other suggestions please come chat on Discord or send us a message to Trello.
Experienced developer in various languages, currently a product owner of nerd.vision leading the back end architecture.