Log Parser Studio 2.0 Released!


After quite a bit of blood, sweat and tears, LPS 2.0 was released today. A large number of improvements have been made since V1. When considering improvements many were the result of either feedback from engineers and customers or, removing workflow barriers whenever I ran into them. In other words since I use LPS everyday I inevitably hit something that makes me think “well that could be easier than it is” which led attempting to meet that need, OK that’s better, rinse and repeat.

This means that many times I was running LPS in debug mode in the Visual Studio 2012 development environment. If I stumbled across something that could be a little better, I could make the change right then and there. So, there was a good bit of refinement based on day to day use which I hope will provide the same value to you.

I’ll be posting many of these improvements along with their explanations in the very near future so be sure to keep checking back as there will be goodies abound. 🙂 In the meantime, check out the EHLO article, download LPS 2.0, check out the existing articles to experience some of the new stuff: Here is the EHLO article.

http://blogs.technet.com/b/exchange/archive/2013/06/17/log-parser-studio-2-2-is-now-available.aspx

 

Direct link to the page with the latest bits:

http://gallery.technet.microsoft.com/Log-Parser-Studio-cd458765

 

The existing articles on LPS:

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

 

 

Comments (24)

  1. Kary Wall says:

    Hi Ross,

    That is the correct way to do it. Those settings will be saved with the TSV log format (albeit globally) so the next time you query a URLScan log you should be good to know. Let me know if you have any other questions.

    Kary

  2. Kary Wall says:

    Hi Jeff,

    That's a great point as Log Parser 2.2 only supports MD5 if I remember.

    Thanks for the comments!

    Kary

  3. Kary Wall says:

    Hi Kartik, I’m unaware of such a limitation so, can you tell me how many characters are in the stack trace and or a sample query and I’ll try the same against a ULS log?

  4. Anonymous says:

    This is awesome. But I couldn’t use LPS on SharePoint ULS logs. Do you know which LogType I need to select to parseSharePoint ULS logs?

  5. Anonymous says:

    Kary Wall: Apologies if I’m spamming your beautiful post. I figured out what I was missing. The ‘User’ field was never in the ULS logs though it displays in the ULS viewer. apparently it was functionality of ULS Viewer. One last query: If I try to print
    entire stack trace from my log files, I find that LPS is truncating the information after certain length. IS there a limit on the length of the column that LPS can retrieve/display?

  6. Anonymous says:

    I tried to edit my comment after I posted and realized I couldn’t do it. I figured out TSV format would work for SharePoint ULS logs but surprisingly not all fields are picked by LPS. For instance column Message was pciekd up but column User was not picked
    up. Am I missing something?

  7. jan says:

    Hi,

    it seems that when you sort by clicking the column header (instead of writing the proper ORDER BY) log parser 2.0.0.100 always sorts alphabetically. I.e 10 comes before 2,3,…

    Thanks for the great tool anyway 🙂

  8. Kary Wall says:

    Hi Jan,

    Enable "Make columns sortable" in preferences and you can sort properly. Its disabled by default because columns with differing data types may cause issues. As long as the column contains the same data type (such as only numbers or only text) it should sort as expected.

  9. Steve McAllister says:

    Nice job on this! Thanks for creating a second version. I thought any work using LogParser was halted, which was a bit disappointment, as I created a few web apps using the Classic ASP and COM, thought it was one of those swiss army tools in a niche where it was badly needed. I had heard a while back there was going to be some replacement, which I am sure was going to be .NET based. I have not seen anything yet.

    I work in WebMetrics, sysadmin and databases, so I have been staring as logs and especially IIS and Apache logs for 15 years. I was using the typical CygWin *nix command like grep, se, awk, find etc.

    I only have one nit-picky issue – the escape key does not work on dialogs. Maybe I am spoiled, but I always thought that was the default behavior of modal dialog…??

  10. Kary Wall says:

    Hi Steve,

    Agreed and challenge accepted. 🙂 so I'll see if I can get the escape feature in at some point. I'll likely gather suggested changes/bugs for a short time then make all the changes in a single future update.

  11. Jeff25 says:

    I love Log Parser and LPS!  One thing I wish Log Parser had was the ability to hash files with hashing mechanisms other than just md5 (such as SHA1, SHA256)  I'm not sure if the developers would be interested in adding that feature, but it would be great as you might have other hash types that you need to compare.  Also, it would be great if hash generation was done for only those files that meet all the criteria (except hash comparisons) in the "where" clause given the processing impact of generating hashes.  I think that would boost performance of file hashing using Log Parser.

  12. Ross says:

    I’m having issues with urlscan logs and LPS – I’ve found a bit of a work around which seems ok (stackoverflow.com/…/17788184)
    just wondering if there is a better way? Apart from that, great work on LPS.

  13. Joshua says:

    I'm running into a situation where LPS2 no longer works.

    Backgroud thread error:one or more errors occurred.

    System.NullReferenceException: <InputFileFormatType>format returned null. The xml settings for this format may be corrupt or contain invalid entries.

    I clicked "Reset All Log Formats" in Options > Preferences. This reset my files in

    C:UsersYourUserNameAppDataRoamingExLPTLog Parser StudioConfig

    I also deleted these files and reset them.  I saw them come back after the reset.  I have tried to reinstall.  The logs work on another computer with LPS 2

    Any thoughts?

  14. Kary Wall says:

    Hi Joshua,

    Are you still seeing this issue?

  15. Satya V says:

    When I have installed logparser studio on Windows 2012 R2 and Window 2008 R2 and mapping some log files to parse, getting error message while executing any query. I tried it on 3 machines, 2 win2012 R2 and 1 win2008R2, no luck.

    Error message is:

    Background thread error One or more errors occurred.
    System.Runtime.lnteropServicesCOMException (OxSOO7000D): Error
    setting property icheckpoint: Invalid value for parameter
    icheckpoint” [The data is invalid.]
    at System.Dynamic.ComRuntimeHelpers.CheckThrowException(1nt32
    hresult Exceplnfo& exceplnfo, U1nt32 argErr, String message)
    at CallSite.Target(Closure, CaIlSite, ComObject, String)
    at
    System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRetJ(Call
    Site site. TO argO, Ti argi)
    at CalISite.Target(Closure, CaIlSite …
    Message Tracking: Exchange 2010- Top Talkers by Sender/Send Source
    EELLOG

    Any assistance would be highly appreciated.

  16. Amir says:

    Joshua , regarding Backgroud thread error:one or more errors occurred.

    System.NullReferenceException: format returned null. The xml settings for this format may be corrupt or contain invalid entries.

    You should uninstall and reinstall Log Parser 2.2

  17. Garry Trinder says:

    The xml settings for this format may be corrupt or contain invalid entries.

  18. Garry Trinder says:

    Time: 9/22/2014 4:34 PM
    Background thread error: One or more errors occurred.

    System.NullReferenceException: EVTINformat returned null. The xml settings for this format may be corrupt or contain invalid entries.

    New Query
    EVTLOG

  19. Garry Trinder says:

    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    System.InvalidOperationException: SplitterDistance must be between Panel1MinSize and Width – Panel2MinSize.
    at System.Windows.Forms.SplitContainer.set_SplitterDistance(Int32 value)
    at ExLPT.MainForm.hideCategories()
    at ExLPT.MainForm.init()
    at ExLPT.MainForm.Form1_Load(Object sender, EventArgs e)
    at System.Windows.Forms.Form.OnLoad(EventArgs e)
    at System.Windows.Forms.Form.OnCreateControl()
    at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
    at System.Windows.Forms.Control.CreateControl()
    at System.Windows.Forms.Control.WmShowWindow(Message& m)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
    at System.Windows.Forms.Form.WmShowWindow(Message& m)
    at System.Windows.Forms.Form.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    —————————————-

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.

    For example:

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

  20. Kary Wall says:

    RE: System.NullReferenceException: format returned null. The xml settings for this format may be corrupt or contain invalid entries.

    I’ve see one single other instance of this reported but have never been able to repro. The settings for formats are xml based files stored in the %appdata% directory for LPS and are dynamically created when LPS runs. The only reason I can find this occurring
    is if for some strange reason access is denied to this directory which is odd since it is the most accessible of all locations to LPS being it’s own user/application directory.

  21. Kary Wall says:

    Hi Ted,

    I would need some type of explanation as to the steps taken to cause this. It looks like a legitimate bug but I need to know how I can cause the same error. Can you reliably reproduce and if so, please list the steps taken. I will try myself but if you know
    it would be a great help.

  22. Kary Wall says:

    My previous reply is concerning: System.InvalidOperationException: SplitterDistance must be between Panel1MinSize and Width – Panel2MinSize.

  23. parsing XML issues says:

    I have had 2 issues.
    1) If I have more than 10 columns in an XML file I end up losing one. It didn’t matter which columns but as long as I had fewer than 11 I was OK. My strings values are not quoted. 10 can’t be the limit. What am I missing here?

    2) Assumption of datatypes….I ended up putting dummy string values in the first XML element, otherwise logParser studio assumed the datatype. In one case when I did leave the fist value empty it ignored all objects that had an unquoted string value that looked
    like a date. Is there switch to force all values be considered strings?

    thanks so much…..BTW the GUI is great!

  24. Kary Wall says:

    @parsing XML issues

    LPS simply passes on the query to LP 2.2 and the XML Log type in LP has always been a little difficult for me use efficiently. I would double check the LP 2.2 .chm/help file in the Log Parser 2.2 installation directory (if you haven’t already) since that is
    all the info I currently have on the XML format for LP 2.2.