Retrieve a value from a log with powershell

I'm searching a log file for a line like the following:
####<Apr 17, 2015 2:39:26 PM EDT> <Error> <WebLogicServer> <CHIVMWW59> <DeltekTEServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1429295966862> <BEA-000337> <[STUCK] ExecuteThread: '10' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "674" seconds working on the request "Workmanager: default, Version: 0, Scheduled=false, Started=true, Started time: 674837 ms

But then I want to pull out just the ExecuteThread: '10' part so I can use it for another search to find if that thread is unstuck.  The thread number will always be changing.  How can I pull just that part of the line?
gcrickmanVP Information Technology ServicesAsked:
Who is Participating?
 
QlemoBatchelor, Developer and EE Topic AdvisorCommented:
get-content logfile.log | ? { $_ -match ".*<Error>.* (ExecuteThread: '(\d*)').*" } | % {
   $Matches[1]  #  ExecuteThread: '10'
   $Matches[2]  # 10
}

Open in new window

In case you wonder: The regex will match the last occurance of ExecuteThread if on one line.
0
 
gcrickmanVP Information Technology ServicesAuthor Commented:
Awesome, thanks!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.