Blog Post

Exchange Team Blog
3 MIN READ

Log Parser Studio 2.0 is now available

The_Exchange_Team's avatar
Jun 17, 2013

Since the initial release of Log Parser Studio (LPS) there have been over 30,000 downloads and thousands of customers use the tool on a daily basis. In Exchange support many of our engineers use the tool to solve real world issues every day and in turn share with our customers, empowering them to solve the same issues themselves moving forward. LPS is still an active work in progress; based on both engineer and customer feedback many improvements have been made with multiple features added during the last year. Below is a short list of new features:

Improved import/export functionality

For those who create their own queries this is a real time-saver. We can now import from multiple XML files simultaneously only choosing the queries we wish to import from multiple query libraries or XML files.

Search Query Results

The existing feature allowing searching of queries in the library is now context aware meaning if you have a completed query in the query window, the search option searches that query. If you are in the library it searches the library and so on. This allows drilling down into existing query results without having to run a new query if all you want to do is narrow down existing result sets.

Input/Output Format Support

All LP 2.2 Input and Output formats contain preliminary support in LPS. Each format has its own property window containing all known LP 2.2 settings which can be modified to your liking.

Exchange Extensible Logging Support

Custom parser support was added for most all Exchange logs. These are covered by the EEL and EELX log formats included in LPS which cover Exchange logs from Exchange 2003 through Exchange 2013.

Query Logging

I can't tell you how many times myself or another engineer spent lots of time creating the perfect query for a particular issue we were troubleshooting, forgetting to save the query in the heat of the moment and losing all that work. No longer! We now have the capability to log every query that is executed to a text file (Query.log). What makes this so valuable is if you ran it, you can retrieve it.

Queries

There are now over 170 queries in the library including new sample queries for Exchange 2013.

image

image

PowerShell Export

You can now export any query as a standalone PowerShell script. The only requirement of course is that Log Parser 2.2 is installed on the machine you run it on but LPS is not required. There are some limitations but you can essentially use LPS as a query editor/test bed for PowerShell scripts that run Log Parser queries for you!

image

Query Cancellation

The ability to submit a request to cancel a running query has been added which will allow you to cancel a running query in many cases.

Keyboard Shortcuts

There are now 23 Keyboard shortcuts. Be sure to check these out as they will save you lots of time. To display the short cuts use CTRL+K or Help > Keyboard Shortcuts.

There are literally hundreds of improvements and features; far too many to list here so be sure and check out our blog series with existing and upcoming tutorials, deep dives and more. If you are installing LPS for the first time you'll surely want to review the getting started series:

If you are already familiar with LPS and are installing this latest version, you'll want to check out the upgrade blog post here:

Additional LPS articles can be found here:

http://blogs.technet.com/b/karywa/

LPS doesn't require an install so just extract to the folder of your choice and run LPS.EXE. If you have the previous version of LPS and you have added your own custom queries to the library, be sure to export those queries as a backup before running the newest version. See the "Upgrading to LPS V2" blog post above when upgrading.

Kary Wall

Updated Apr 22, 2020
Version 3.0
  • @Richard

    I add the following to my WHERE statement whenever I want just the last hour of logs to be queried.  You could modify this to include a range as well.

    WHERE TO_LOCALTIME(TO_TIMESTAMP(date, time)) >= SUB( TO_LOCALTIME(SYSTEM_TIMESTAMP()), TIMESTAMP('0000-01-01 01:00', 'yyyy-MM-dd HH:mm') )

    the 01:00 portion is what I change to 06:00 if I want the last 6 hours instead of 1.

  • Hi Richard,

    There is provided the log has dates/time fields but the query itself is what determines the range. I'll post an example once I get freed up to do so.

  • Is there any way to tell LPS to only query logs from within a certain date range even if there are more Logs in the folder then the window you would like to query?

  • Hi Joel,

    You are correct. Additionally, the scripts weren't designed to process pipeline objects at all so ValueFromPipeline needs to be removed altogether. In the interim, the scripts should still work as-is with the caveat that it is a new and evolving feature. Thanks for the good catch.

  • Has anyone mentioned that your PowerShell scripts are flawed? You can't mark every parameter as ValueFromPipeline=$true -- it's max one per parameter set.  Maybe you meant ValueFromPipelineByPropertyName=$true ... but even that won't do much good if you don't put the logic of your script into a process{ ... } block.

  • Congrats to MS Exchange Team on releasing LPS v2

    I really hope that someone at Microsoft will work on Logparser version 3.0 too. To include new input and output formats, new features, extend LP SQL language, bug fixes, etc… Or at least MS may publish it as an open source project on CodePlex so we could all contribute to its future development. Such tools are rare gems for IT professionals so it would be shame to let them be forgotten.

    Best wishes from the developers of Log Parser Lizard :)

    www.lizard-labs.net/log_parser_lizard.aspx

  • Thanks Kary!

    I've been waiting for this goodie. The PowerShell export feature looks very interesting.