- Extended log level parser to support various input strings instead of exact Enum's name. Goal is to support Serilog log levels like DBG, WRN, ...
- Log file name parts finder finds also other parts when base name doesn't contain numeric sequence (e.g. it's just FileName.log) and other parts have the sequence before .log (e.g. FileName_1.log)
- The Advanced Log Viewer has been open sourced! See https://github.com/Scarfsail/AdvancedLogViewer
- Add support for wrapping and change font of the message in preview.
- Redesign log level icons.
- Redesign settings page, new look & feel.
- Support for other Solarwinds log files (e.g. OrionWeb.log).
- Log files with only assemblies are always shown, message about custom parsers is skipped.
- Support for log parts with non-continuous numbering.
- Fixed bug with log parser pattern that has a character "|".
- Support of UTF8 documents.
- Updated to .NET 4.6.1 and improved performance of log loading mainly on x64 OS.
- Fixed log's code page detection to show characters in UTF8 correctly.
- Fixed few UI glitches.
- New option in settings: "Show type's icon on each row (The icon on left side of each row)". By default the option is enabled, user can disable it and thus hide icons on the log view.
- Parser Patterns: Added possibility to specify mutliple date time formats in case log contains date time in different formats.
- Significantly improved performance of date time parsing which leads to improved performance of log loading.
- Message detail wasn't refreshed when different log was opened and first row was selected.
- LogAdjuster: When active log level doesn't exist, exception (Index must be greater than...) was shown.
- Parser: Fixed issue with parsing line which begins by something else than actual field. (e.g. Something{Date} ...)
- New search dialog which highlights all rows with found text and shows appropriate marks on the right side to see where are the rows with found text.
- Search dialog is by default docked in right upper corner with ability to undock and behave as a standard window.
- Improved performance of drawing log lines on main screen, less CPU usage during excessive scrolling.
- Due to completely new Find Dialog implementation, fixed bugs reported on the old search dialog (hopefully not introduced so much new bugs;-) ).
- When correct parser wasn't detected for the log file, whole log file was shown as one line in the ALV instead of showing message about unknown log format with link to parser patterns manager.
- Ability to filter log by condition with SQL syntax, example: ((Thread = '9' AND Class LIKE 'MyClass') OR Message LIKE 'Something')
- New issue tracker for the ALV instead of reporting issues / feature requests in the forum. Visit git.salplachta.net/advanced-log-viewer/issues to see how the issue tracker looks like.
- Project switched from .NET 3.5 to .NET 4.0. Advanced Log Viewer requires .NET 4.0 to be installed on the machine.
- Added new shortcut key to show Parser Manager - CTRL+P
- Few minor performance improvements by using new .NET 4.0 features. More improvements/using of cool .NET4.0 features is planned for next release(s).
- Fixed issue with progressive loading - log was always loaded without progressive loading -> log was shown at once which caused long loading times for big logs.
- Fixed few minor issues and typos during code refactoring
- Ability to filter also by regular expression (RegEx) in the text filters (Thread, Type, Class, Message).
- Improved performance of filters.
- Jump to nearest item with same Type (Error, Warning, ...) as on currently selected row by CTRL+Up or CTRL+Down.
- Fixed issue in "Browse for logs" dialog. Logs in root directory were shown in some subfolder.
- Fixed issue with movement synchronization between different Log viewers. When this function was enabled, the target Log Viewer's window was activated on every row change in the source Log Viewer.
- Show list of command line parameters from command line (by /? param) or from 'More->Show command line parameters' menu.
- Added new command line parameter: ForceParser to force specific parser for the given log file. See list of command line parameters for more details.
- Associate .LOG files with the ALV application. The switch is on the Settings page in system integration section.
- Fixed issue with non-parseable date time.
- When log contains first line in different format than the parser specifies, the line is shown only in message column. In previous version the line wasn't shown in the ALV at all.
- Open dialog: Filter for all files (.) didn't show all files.
- Log view: Ampersand (&) was interpreted as a prefix to underline following character and the ampersand wasn't shown.
- Ability to save currently shown (filtered) log items into new log file which could be shown and filtered again.
- User can switch between running instances of ALV by pressing CTRL+Tab or from new menu (near to open file button). From this new menu is also possible to run new instance of ALV.
- Date time filter: DateFrom and DateTo was stored in computer's locale format, thus when ALV (mainly portable) was opened on computer with different locale, ALV crashed.
- Quick filters: When user clicks on header and quick filter window is shown the text edit wasn't focused, user had to click into the text edit box manually.
- Added possibility to define also text color for color highlights. So now is possible to define both background and text colors.
- Added possibility to define filters by checking/unchecking distinct values in the list for Thread, Type and Class columns.
- Fixed rare exception during log refresh. It occured more often on slow environments (typically VM).
- When ALV is updated, the changelog is shown just in first opened instance of ALV even when the first instance isn't closed.
- Added an icon for TRACE log event type.
- Fixed issue with scrollbars in message detail pane during refresh. The message detail isn't refreshed when it's not necessary (same item is still selected) -> scroll bars position in the message detail window remains unchanged.
- Fixed issue with automatic update when local system date format is set to something non-standard like "yyyyMMdd".
- Created web forum to exchange any feature requests, bug reports or ask for questions about ALV. Visit forum.salplachta.net to see how the forum looks like.
- Added more information to the about dialog (Fact that application is free for private and also for commercial use, link to the forum and Donate button).
- When any configuration file is broken, proper error message is shown and default configuration is loaded instead of exception.
- When autorefresh and autoscrolling is enabled, app jumps to last row only when last row was selected before the refresh. Otherwise stay on the same row and just show new rows from the log.
- When new log records are shown (due to manual or automatic refresh) and last row isn't selected, "Change time" field on the status bar is bold until user jumps to last row to see recent rows.
- Message detail window contains new extra line with date, thread, type and class information of selected row.
- When color highlighting is enable, appropriate text is also highlighted in message detail window.
- Possibility to open log file in external text editor like Notepad++ which supports also open on currently selected line in ALV. Path to text editor and command line params are configurable in ALV settings, default is Notepad.exe.
- Added possibility to use existing instance of ALV when LogViewer is opened from command line with FileName argument. Example: 'AdvancedLogViewer.exe UseExistingInstance SomeLogFile.Log'. If any existing instance of ALV exists, SomeLogFile is opened in there.
- Added note into each filter window about '~' character. When line starts with this character condition is negated -> search for text which doesn't contain text prefixed by ~.
- Fixed ugly looking line when message contains more lines - next line was partially rendered in the current one and only few top pixels were visible -> very ugly. Now is also shown '...' on end of the line when message exceed size of message column.
- Fixed log adjuster on x64 Windows. Default paths to 'Programs Files' are now interpreted as 'Program Files (x86)' on 64 bit OS.
- Advanced Log Viewer can be PORTABLE! It means you can use it just by copy whole ALV directory without needs to install it. ALV still can be installed, then settings is saved into user's profile directory. When exists folder: "UserData" in ALV directory, all settings is saved there and ALV run in Portable mode.
- Possibility to jump to DateTime or Line number in log file by specifying command line arguments of LogViewer. Example: "AdvancedLogViewer.exe "C:\SomeLog.log" 123"s to be interpreted will open SomeLog.log and jump there onto line 123.
- Automatic update works also in PORTABLE mode. In that case binaries are downloaded, ALV is stopped, updated by new binaries and run again.
- Added parser for OrionInstaller.log. Thanks to Denys!
- New possibility to Adjust Log Level directly from the Log Viewer. User can select Config files for each Log file. Log Viewer then automatically read associated config file, show current log levels and give possibility to change them easily. This feature is accessible via new icon on the toolbar.
- Icons for log item type (the icon on each line like Warning, Information, ...) disappeared.
- Fixed color highlight with option "Trim text in Class column from left" enabled.
- When application checks for updates on the web, message in status bar is shown.
- New option to trim text in Class column from left instead of right side. When true, right side of class name is always visible. By default is option enabled.
- Added possibility to send feedback directly from the application. Now you can send feature request, bug report or anything you want directly from menu: Other -> Send feedback.
- When main window was set to "Stay on top", quick filter window was shown under the main window (wasn't visible)
- Redesigned dialog which informs that New version was found, possibility to show what's new against installed version.
- Fixed bug when user clicks on "Browse for Logs" in Windows explorer on long path and operating system pass this path as 8+3.
- Fixed bug when user clicks on "Browse for Logs" in Windows explorer then list of recent files were not loaded.
- Fixed rare bug during saving settings for LogBrower (Exception: value can not be null).
- Added "Browse for Logs" into Windows Explorer context menu on Folders.
- In Browse for Logs added possibility to change root folder and browse any other folder
- Browse for Logs is accessible even when no log is opened, in that case dialog with "Select folder to browse" is shown
- Fixed issue during startup: Scarfsail.Common assembly is old.
- New tool: Browse for logs around current log. Window with tree of logs around currently opened log file. It search for all .log files around current log file up to defined Top Level folder (e.g. LogFiles) and show them in tree.
- In recent files are shown only base log file names. E.g. LogFile.log instead of LogFile.log.1. This can be disabled on Settings dialog.
- Added keyboard shortcut to show List of Recent Files: CTRL + R.
- Added keyboard shortcut for Favorive (F) and Auto Refresh (P).
- First 9 files in recent files have numbered shortcut (0-9). So when recent file list is shown, just press number which is shown before file name to open that log file.
- Added keyboard shortcuts for quick filter popup windows (M for Message, C for Class and so on).
- On filter popup window added keyboard shortcut for Enable/Disable filter (ALT+E)
- Added list of keyboard shortcuts, it's available under menu: Other -> Keyboard shortcuts
- Added possibility to disable remembering of enabled filters for next session. This option is on settings page.
- Tweaked performance while log is loading.
- Added possibility to specify Exclude filters and combine them with classic Include filters. Exclude item in filter list has to be prefixed with ~ char. Example:
ExcludeThisWord. When you want to create include filter with ~ as first character, prefix it with . eg: ~ThisIsIncludeFilterWithAsFirstChar
- Added context menu in Message detail with possibility to set/add current word as message filter.
- When Advanced Log Viewer is opened without any log, list of recent log files is shown.
- Added some logging when application starts to investigate possible issues during app initialization.
- Added log format pattern for SWAutomationFramework.log.
- Fixed issue with empty lines in filter items. In case there was one empty line, filter shown all items.
- Added possibility to show / hide bottom pane with message content.
- Possibility to show list of changes in the application.
- When new update is installed, list of changes against previous version is shown.
- Message content extractor: Possibility to Save / Open / Copy to clipboard message content. Also possible to specify custom extractors with regex to match and extract message content and execute specific action.
- Settings UI: Values for automatic updates settings wasn't saved properly to config file.
- In case log file is empty, log viewer is still trying to refresh it.
- Internet updates: Application automatically check for new versions. There is possible to disable automatic checking and check it manually in app menu. In case new version is found, user is informed about that and LogViewer is able to download and apply that update.
- Favorites: Possibility to mark log files as Favorites. When file is marked as a Favorite, the file will be always on the top in recent files list with "yellow star" image.
- Plugins: When plugin is executed, context of log control is passed to the plugin. In the context are methods to control LogView like is GotoItem.
- Exception: "InvalidArgument=Value of '-1' is not valid of 'index'" when logfile was recreated just during refresh.
- Exception when log file was recreated and UI was refreshed (automatically or manually) and cursor in listview was on line number which doesn't exists yet in new log file.
- Possibility to insert value from currently selected item into filter (useful when user wants to filter by current Thread or Type)
- Wrong markers showing when only time filter was enabled
- Automatic checking of "Enabled" checkebox in Message filter when user something change (on other filters it worked)
- When filter was applied and no item was shown, in detail remained text from previously selected item.
- Possibility to set filter for column directly by clicking on column header
- New possibility to show only new incomming items (useful for watching live logs) by one click or CTRL+T shortcut
- Extended UI for Date filter settings
- New settings: Select previous last item and actual last item when auto refresh
- Possibility to enable / disable filter for each column
- Indication to column header if the column is filtered
- Date fitler is autonomous - is enabled / disabled independenly on other filters.
- Case when filter was enabled, auto refresh was enabled, auto scroll was enabled and new item appeared but didn't match the filter - cursor jumps to last item anyway. Now jumps to last item only when new item which match the filter appears.
- CTRL+O shortcut key
- Fixed case when Total Commander isn't installed on the computer at all.
- Settings: Possibility to integrate Advanced Log Viewer to TotalCommander as a file viewer on ALT+F3 keypress.
- Settings: When it's first run of the application, settings dialog is shown.
- Installer: New checkbox "Launch application" on last installer screen.
- Manage filters: Minor facelift changes on UI.
- Application: When application is closing and some error appears during saving configuration, there wasn't possible to close application. Now is the error logged and application is closed properly.
- Main window: When autorefresh is enabled, last item from previous refresh and last item from current refresh are selected again (it didn't works in few previous versions). So there is again possible to see what was refreshed.
- Main window: Selection with SHIFT key allowed to select more than 2 items.
- Color highlight: When there isn't some column (e.g. Thread), all items were highlihted
- Custom patterns: When number of columns were changed (e.g. Thread was removed or added) exception was raised after click on "Try on current log".
- Search: When there wasn't some column (e.g. Thread) exception was raised after click on "Find" button.
- Main window: Possibility to set autorefresh period (minimum is 200 ms).
- Manage filters: Added groups of filters (the same as is in manage color highlights dialog).
- Main window: When user double clicks on some line, it's the same as click on Bookmark button.
- Main window: Added icon for "Auto refresh" button instead of text
- Main window: Removed button "Auto scroll", currently is it on settings page and is applied only when "Auto refresh" is enabled.
- Main window: Time span between two selected items is shown as hh:mm:ss.fff.
- Main window: Two item selection improved - first item always keep selected and as second is always selcted the current.
- Main window: When current log file was deleted (e.g. when was rolled out), exception "RetrieveVirtualItem" was raised.
- Manage highlights - when dialog was closed by X, current state was saved.
- Main window: CTRL+END and CTRL+HOME in the list of logs works correctly now.
- Main window: When user selects two lines (with CTRL), time span between them is shown in status bar.
- Main window: Manage filters and Manage highlights buttons are now represented by an icon instead of text.
- Find dialog: All settings in search dialog (last text, checkboxes, ...) are saved to settings file and loaded on next session.
- Find dialog: Added possibility to choose if user wants to search from current position or in all items regardless of the current cursor position.
- Find dialog: When searched text isn't found for first time from the current position, status text is orange and is possible to search from beginning. When text isn't found from the beginning, status text is red and there is appropriate information about that.
- Find dialog: When user search again from beginning / end, main window doesn't blink / refresh anymore.
- Manage highlights: Added embedded color grid picker on the form. No need to show color dialog, select color and click OK anymore. Now it could be done by one click.
- Main window: When main form is stay on top other windows (like Manage Filters) was shown under main window.
- Main window: When user clicks on Bookmark button and current line was already bookmarked, next empty bookmark was set instead of reset bookmark for this line.
- Main window: Shortcut CTRL + H to toggle color highlights didn't works.
- Main window: When user set / reset filter, last selected item should be selected. When isn't visible, first next item is selected.
- Manage highlights: When some text was selected (SelectionLength > 1), colors was saved incorrectly or everything was white.
-
Main window can "stay on top" (switch is on the toolbar).
-
Added Settings dialog (available under Other -> Settings)
-
Ability to set if application will exit when user press ESC key
-
Added some other settings from main menu
-
Added bookmarks: - Button available on the toolbar - press the button to assign first free bookmark on current line. Dropdown menu to view all the bookmarks. - Press CTRL + SHIFT + Number to toggle bookmark on current line - Press CTRL + Number to goto bookmark with the number - The bookmark is is shown on appropriate line before DateTime text.
-
Reworked Find text functionality: - Find function has own window, removed for someone confusing search boxes from main window. - Find dialog isn't modal - when isn't focused, transparency of the window is set to 75%. - Ability to search as Regular Expression ! - Ability to search with Case sensitive option - Reworked search algorithm - Two items selection fix (now is selected only item which is found, previously selected item isn't selected henceforth). - When there is nothing found and user select to search from the beginning again and there is still nothing found, original item keep selected. - Searched text is saved into a config file and then offered in combo box on the search dialog.
-
Few minor UI changes (texts, graphics).
- Fixed Jump to item functionality (two items was selected instead of one)
- Added possibility to show / hide side panel with markers (errors, warnings). It's located under menu: Other -> Show Markers.
- Installer shows version of the product in the caption.
- When viewed log file is deleted, refresh doesn't show any error message but it cleanup the list of logs and in status bar shows text that file doesn't exists. This could happen during log renaming by log4net and when auto refresh is enabled - before the fix error was appear.
- Fixed error with item numbering when log was updated (Error in log: Error while showing markers: System.ArgumentException: An item with the same key has already been added.).
- Finally fixed flickering during contents refreshing !!! No more flickering when log is updated, scrolled or the rest of the log is asynchronously loaded.
- Added logging of the application, you can find logs under: %ProgrammData%\AdvancedLogViewer\Logs. For each instance of the LogViewer is created one log file whose file name contains process id of the instance.
- Removed license confirmation from the installer.
- Added version info on welcome page in the installer.
- Fixed autoscroll when user clicks on Filter or Color highlights buttons.
- Added Text Diff feature - now is possible to diff texts between two log items (in defined external diff tool - e.g. p4merge.exe, for configuration goto: Other -> External diff tool settings)
- Added custom patterns editor. It's rich GUI where is possible to define custom pattern parsers for log files with ability to preiew edited pattern on current log. (It's located under menu: Other -> Manage parser patterns)
- When there si no suitable pattern parser found, pattern editor is shown with ability to preview edited pattern on the the log file for which wasn't found suitable pattern.
- Fixed issue when highlighting items without Type or Thread.
- Renamed "Live update" to "Auto refresh" (live was confusing, because of live application update over the web).
- Filenames in patterns now can include wildcards (*) (in previous versions were compared only as "Contains")
- Added CustomParserPatterns.def file which is designed for user's pattern definitions. ParserPatterns.def shouldn't be edited by an users, because could be rewritten during application upgrade.
- In case there is not suitable parser pattern, appropriate message is shown.
- Setting files (Colorhighlight, Settings, Filters, ...) are now in CommonApplicationData\AdvancedLogViewer (Vista/W7: ProgramData\AdvancedLogViewer ; XP/older: Documents and Settings\All Users\Application Data\AdvancedLogViewer) because when UAC is enabled then into Program Files directory (where setting files were in the past) can write only Administrators.
- Improved performance for log loading (about 10% since previous version)
- Main form is shown on center of the same screen as is the parent application window (Explorer, Total Commander, ...)
- Filter is saved after each change and loaded after app start (same as for color highlight definition) .
- Color highlighting: Text is now compared for Thread and Type text too.
- When filter is enabled, information about shown / total items in status bar is bold.
- Fixed issue during log refresh (especially for periodic refresh)
- Fixed issue when first line begins with something else than time (e.g. swAlert.log in Orion 2010.1)
- Fixed issue with Autorefresh after application start.
- Simpified UI for managing filters and highlights
- Added ability to revert filter (show all what doesn't match current conditionals)
- Simple installer in WIX
- Copy all files to desired folder and create shortcuts in Startmenu.
- When you run older version of installation, downgrade is blocked.
- When you run newer version of installation, product is automatically updated.
- Fixed log merge feature (bad order of logs to merge)
- Fixed loading other parts of logs when .LOG file is opened
- Some minor UI improvements
- Fixed issue with side panel (wrong thread synchronization to UI)
- Internal code changes (cleanup, refactoring)
- New clickable side panel with color markers representing errors and warnings in the log.
- Improved performance for showing log type icons
- Fixed enabling/disabling buttons after log refresh
- Merging partial log files (.1, .2, ...) into one file
- Show all parts of log files (.1, .2, ...) and open it by one click
- New shortcuts: CTRL+Left and CTRL+Right shows previous/following partial log file (.1, .2, ...)
- Memory usage is less about 50% for large logs
- CPU usage is lower during loading (about 20% faster loading)
- Fixed aborting during log file loading
- Added information when searched text isn't found, possibility to search from start/end of log
- Fixed minor issues with autoscroll while loading
- Improved loading performance (especially for long inner texts)
- First public version. No list of changes against previous version.