hello world- Now defaults to a phrase match, where the phrase
hello worldmust appear within the log line (case insensitive). Previously, this would perform an intersection of
world, and acheiving a phrase match required quotes. After collecting feedback for a few months this continually came up. We hope this makes searching a little more effortless.
MyModule::MySubModule- Is now treated as a literal text search. Searching for ruby module names is a very common task. Previously, because
:is a special character for attribute search, this would throw an error saying the
MyModule:attribute does not exist.
fatal- Now search the repsecitve log level as well as the log line message. Previously, this required an attribute search like
level:warn. Because level is displayed on the screen, we've seen a lot of users type levels expecting it to work. Now it does!
Anyone logging to
STDOUTwill be pleased to know that v2 now uses the
Loggerbackend included with Elixir. Functionally this performs exactly the same, but the benefits of using a standard library include: improved stability, better performance, active ongoing maintenance, etc.
The installer has been vastly improved:
- It now recognizes umbrella applications, handling them accordingly.
- A bug was squashed for Phoenix versions 1.3, the installer should work great there as well.
- The whole flow has been refined to use better messaging, formatting, and pauses that make it more apparent when user action is needed.
Re-run the single command installer (
mix timber.install). This commend, with your API-key, is located in the settings of your application.
ImprovementTimber for Ruby v2.1.0.rc1Jun 5th, 2017
This update introduces a lot of great new configuration options and performance improvements:
README has been updated to include a configuration section. This demonstrates common configuration setups. You can also view the
Timber::Config class for a full list of options. Here's the high level overview:
Timber::Integrations::* classes received a enabled= and a silenced= class methods. The former disables the integration entirely, the latter keeps the integration enabled but silences the logs.
Timber::Integrations::Rack::HTTPEvents now has a .collapse_into_single_event= method that will only log the response log instead of both the request and response.
Timber::Config.instance.logrageify! method was added that automatically silences the appropriate logs to behave similarly to lograge. It uses the above settings to do so.
Timber::Integrations::Rack::HTTPEvents.silence_request= was added to provide the ability to silence noisy requests (load balancer checks).
Timber::Contexts::Release context was added and it will automatically set itself if the proper environment variables are set. You can see an example in the configuration section of the
The installer was completely reworked and received a number of great improvements, notably the support for multiple environments, avoiding the need to run the installer multiple times.
A lot of great doc updates. The readme has been updated as well as the library docs.
ImprovementSearch Syntax ImprovementsMay 2nd, 2017
We're always looking for ways to make our search feel effortless. Today we released a few welcome changes to our search syntax:
NewTimber Elixir V2 ReleasedMay 2nd, 2017
V2 of our Elixir library is now available. V2 includes a variety of improvements, notable changes are listed below.
We've placed an
file in our repo. The process is very simple:
Eenjoy! Happy logging.
ImprovementShorter, Easier Field PathsMay 2nd, 2017
We're always looking for small subtle changes that could improve the UX of Timber. Today we released what we're calling "short paths." Here's a simple example:
Instead of issuing a query like:
You can now do:
Here are a few more examples:
|Long field path||Short field path|
Give it a try!
NewView a Line in ContextMay 2nd, 2017
Have you ever searched for a line and wanted to view it in the context of it’s HTTP request? Today we added a tag that makes this as easy as a click.
View logs in context is often critical to resolve issues quickly. And we’re constantly looking for ways to make this easier.
We also added a new docs page for this feature.
NewTail Users With a ClickMay 2nd, 2017
Today we added a subtle tag to your logs, the "User Tag".
This makes it dead simple to tail a user.
Have you ever wanted to test something in staging or production, but there was too much noise in your logs? This gives that “development” like experience in these environments, narrowing the logs you see to just the ones you’re generating.
Watch a customer reproduce an issue.
We recently had a customer unable to identify an issue with one of their clients. They were able to easily narrow down to that specific user and identify a bad header they were sending. A problem that would have taken hours, took < 15 minutes to resolve.
You can read more on tailing user in the tail a user docs page.
OptimizationConsole UpdatesMay 2nd, 2017
Today we did some general benchmarking of our console. While performance overall been pretty good, we identified 2 issues that will improve it further.
You’ll notice a new loading screen in-between searches. It’s a simple overlay. This eliminates re-drawing in the browser, making the experience between searches much more fluid.
We re-factored the log line rendering logic and reduced the number of rendering iterations that are performed as new lines show up.
The net result is ~60% reduction in load and rendering time based on benchmarks. We’ll continue to look for ways to push performance even further.