LogViewPlus 3.2


Author
Message
LogViewPlus Support
LogViewPlus Support
Supreme Being (12K reputation)Supreme Being (12K reputation)Supreme Being (12K reputation)Supreme Being (12K reputation)Supreme Being (12K reputation)Supreme Being (12K reputation)Supreme Being (12K reputation)Supreme Being (12K reputation)Supreme Being (12K reputation)
Group: Moderators
Posts: 1.3K, Visits: 4.5K
LogViewPlus v3.2

LogViewPlus v3.2 is currently available as a BETA release and I wanted to take a moment to discuss what's new.

The latest release has a lot of small improvements driven directly by user feedback. This is a big release, but it does not introduce a single "big" feature. Instead, we have tried to improve the user experience throughout the application. Here's a quick look at whats new.


Dashboard & Charting Improvements

The dashboard has received the most attention in this release, with several improvements that together make charting in LogViewPlus significantly more powerful and easy to use.

Multiple Time Series in a Single Chart
You can now plot multiple data series in the same diagram. Any SQL query that returns more than one value column will automatically generate a separate series for each. For example:

SELECT 
   CAST(Timestamp AS smalldatetime) AS Time,
   CAST(PositionX AS float) AS [Position X],
   CAST(PositionY AS float) AS [Position Y],
   CAST(PositionZ AS float) AS [Position Z]
FROM CurrentView ORDER BY Time

This produces a chart with three positions plotted together, making it easy to understand metrics at a glance.



Automatic Secondary Y-Axis
When you plot multiple series with very different value ranges LogViewPlus now automatically detects the discrepancy and adds a secondary Y-axis. No configuration required. If the median values of two series differ by more than 10x, each gets its own scale.



Chart Zoom and Pan
Charts now support interactive zoom and pan. Hold Ctrl + Scroll to zoom in on a region of interest, or use the toggle button in the chart header to enable free mouse-wheel zoom. You can also drag to pan across the data once zoomed in.



Smarter Point Sizing
Point charts now auto-size their markers based on data density. Fewer than 50 points? You get large, easy-to-read markers. Hundreds or thousands of points? Markers shrink automatically so the chart stays readable without manual adjustment.



Precision Hover Values
Previously, hovering over a data point with a very small value (e.g. 0.003) would display "0" in the tooltip. Hover tooltips now dynamically adjust their decimal precision based on the data range, showing up to five decimal places when needed.




File Comparison

LogViewPlus can now compare log files directly. Select two views and compare their entries side by side. The comparison engine intelligently maps columns between files with different schemas - matching first by column name, then by field name, and finally by element type (e.g., Message, Thread, Logger). This means you can compare logs from different systems or parser configurations without manual column alignment.





When comparing log files, you can select which columns to include in the compare.  Excluding fields like Timestamps means the comparison is easier to understand.  One use case for this feature would be comparing the start up logs from two different log files.


Settings Import & Export


Merge Instead of Overwrite
One of the most frequently requested improvements: when importing settings, you no longer have to lose your existing configuration. The import system now supports merging - incoming parsers, templates, and workspaces are added alongside your existing ones, with conflicts resolved by matching on file-name pattern (for parsers) or name. This makes it easy for teams to share parser configurations without anyone losing their personal setup.

Easier to Find
Several users told us they couldn't find the Import and Export buttons in the Settings dialog. We've added a gear menu to the Settings title bar that provides quick access to Import, Export, and Restore Defaults - right where you'd expect it.




File Opening & Merging


Merge Files on Open

When you open or drag-and-drop multiple log files at once, LogViewPlus can now automatically merge them and show only the merged view. Enable "When opening and merging multiple files, show the merge file only" in Settings -> Open Action, and you'll go straight to a single, unified timeline instead of seeing every file as a separate tab. This also applies to directory monitors and workspace restores.



Show Only the Merged File
Similarly, directory monitors now have the option to hide individual source files when a merged view is configured. If you're monitoring a directory with dozens of rolling log files, you see one clean merged view instead of a tab per file.




Parser & Auto-Detection Improvements

CSV Header Auto-Detection

CSV and DSV files with a header row are now parsed automatically. LogViewPlus reads the first line, validates the column names, and uses them as the column headers for your grid - no manual parser setup required.

Logger Auto-Detection Fix
A subtle bug caused two nearly identical XML log entries to receive different default parsers. The issue was that the message-detection heuristic could incorrectly claim a logger name as the message field if the logger value happened to be long enough. This has been fixed by running name-based matchers (logger, thread, priority) before the message heuristic. Additionally, Log4j, Log4net, and Log4php XML formats are now explicitly detected and routed to the specialized Log4XML parser for full semantic understanding.

Copy Pre-processed Message
When building a regex message parser, the regex runs against a pre-processed version of the log line - not the raw text you see in the file. Previously, discovering what that pre-processed text looked like required a workaround ((?<Foo>.*)). The Regex Designer now includes a Copy Original Message button in the toolbar that copies the pre-processed text to your clipboard, so you can see exactly what your regex needs to match.


Template & Filter Improvements

Template Manager
The Template feature has expanded beyond our original vision.  Some users find the feature extremely helpful and are creating large libraries of templates and we want to try to make managing these templates a bit easier.  The new Template Manager solves this problem with a dedicated dialog that provides powerful search, filtering, and organization capabilities.



Automatic Grouping by Parser

Templates are now automatically organized into groups based on their associated parser configuration. When you save a template, LogViewPlus remembers which parser was active and uses that to create logical groups. The system recognizes three types of templates:
  • Parser-Specific Templates - Grouped under the parser's display name (e.g., "Log4j XML", "IIS Logs", "Custom JSON Parser"). These templates were created while viewing a file with that specific parser.
  • Global Templates - Templates that work across all log formats, grouped under "Global". These are parser-agnostic and can be applied to any file.
  • Orphaned Templates - Templates whose original parser configuration has been deleted, grouped under "Orphaned". These templates are preserved but flagged for your attention.


Smart Sorting and Filtering
The template manager includes a group dropdown that lets you filter to a specific parser or view "Global" templates at once. Groups are automatically sorted by recency.  Within each group, templates are sorted by last-used date, so your most frequently accessed templates are always at the top.



Cross-Parser Application
When you apply a parser-specific template to a file using a different parser, LogViewPlus detects the mismatch and offers to promote the template to Global status. This makes it easy to reuse a template you created for one log format across other formats without losing the organizational benefit of parser grouping.

Automatic Template Versioning
Automatic templates now have a Use Latest option. Previously, when an automatic template was activated, it captured the template definition at that point in time - and any later changes to the template were ignored. With Use Latest enabled, the automatic template will attempt to resolve to the current version of the referenced template, so your improvements are picked up immediately without re-configuring the trigger.



Hierarchical Logger Navigation
If you work with hierarchical logger names - like com.myapp.services.UserService - you'll appreciate the new Logger Tree. Instead of a flat list of every logger in your file, the filter panel now organizes loggers (and threads) into a collapsible hierarchy based on common prefixes. Expand com.myapp.* to drill into services, controllers, and so on. This is enabled by default on logger and thread filters.






SQL Improvements

SET CULTURE

Sometimes the data contained in a log file may be culture specific.  In this scenario, it is necessary for the SQL engine to apply a specific culture in order to understand the underlying data.  To handle this situation, we have added a new SET CULTURE command.

SET CULTURE de; 
SELECT CAST(DateString AS DATETIME) AS Result FROM CV

You may be wondering why we don't just apply the culture of the Windows instance.  We decided against this because most log files contain data that is culture neutral.  If we applied a culture automatically, we make an assumption which would cause culture invariant data to be incorrectly interpreted.

OVER and PARTITION BY
You can now use the OVER clause with PARTITION BY to perform calculations across groups of rows. For example, calculate running totals, moving averages, or compare each row to its partition's aggregate:

SELECT Thread,
   COUNT(*) AS Count,
   SUM(COUNT(*)) OVER (PARTITION BY Thread) AS ThreadTotal
FROM CurrentView
GROUP BY Thread

LEAD and LAG Functions
The LEAD and LAG functions let you access data from subsequent or preceding rows without self-joins. This is particularly useful for calculating deltas between consecutive log entries:

SELECT Timestamp,
   ResponseTime,
   LAG(ResponseTime) OVER (ORDER BY Timestamp) AS PreviousResponseTime,
   ResponseTime - LAG(ResponseTime) OVER (ORDER BY Timestamp) AS Delta
FROM CurrentView

These window functions open up a new class of time-series and comparative analysis that was previously difficult or impossible to express in dashboard queries.


Where have we been?

We typically release about 2 to 4 times per-year, but it has been almost a year since our last release.  We know that consistency matters, and it is fair to ask why this release took so long.

The primary cause was a foundational shift. We have spent the last several months completing a massive .NET Core migration and an architectural overhaul of our engine. While these changes aren't always visible in the UI these changes are a prerequisite for our upcoming roadmap, including:
  • Localization
  • New products
  • Performance Improvements
  • Website Enhancements
We underestimated the amount of time needed to implement some of these features, but we are now in a much better position to enhance LogViewPlus going forward.

Edited Last Week by LogViewPlus Support
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Login

Explore
Messages
Mentions
Search