All posts by akyriako

Visual Studio Integrated ULS Viewer (free Visual Studio 2012/2013 add-in)

Project Description

Visual Studio integrated ULS Viewer does not come to substitute or demand a place among the currently existing ULS viewers. Definitely it cannot even be compared with the richness of functionality of the originial UlsViewer from Microsoft (currently discontinued) but this is not the case as VS Integrated ULS Viewer was created with a totally different mindset and for totally different target group than the rest. VS Integrated ULS Viewer was not created for system admins or any other users that point to traditionally monitoring SharePoint activity. It was conceptualized for the average developer who feels comfortable inside Visual Studio and gets his time wasted by hopping around screens, windows and GUIDs to get his staff done.

tool.png

All icons belong to Icon8 set http://icons8.com from VisualPharm http://www.visualpharm.com

Description

Toolbar

toolbar.png

In the top of the tool window lies one simplist toolbar consisting of the following options :

  1. Live mode, choose this to hook on the current log and poll for new entries.
  2. Static mode, open an existing log file of your choice.
  3. Information about number the currently filtered and fetched ULS traces
  4. Clear and dispose the items
  5. The currently processed log file.

All buttons are interactive and come with 4 states noted by their border color :

  • Black : Inactive
  • Light Green : Active
  • Red : Error (Hover over the button and a tooltip relative to the error will give you a hint)
  • Orange : Currently processing

Filtering

filtering.png

By clicking on the filtering expander you will be offered with the following choices :

  1. Choose among the following categories : Message, Area, Category, Level and Correlation ID
  2. Choose among the following filtering options : Contains, Is equal to, Starts with, Ends with
  3. Enter the value your are looking for. The TextBox is providing search-as-you-type functionality.
  4. Go forth and back to previous filtering you have already made. My experience with Microsoft UlsViewer (besides that is a perfect tool) is that I was frustrated how I could (re)apply filters or remove them.
  5. Remove any filter.
  6. Send maximum 50 of your filtered results to a collegue for his own consideration. It is been million times that an admin or another developer is trying to discuss with me a bug and it takes ages until I get all the related traces in my hand. No more ! Check.

ULS traces

listview.png

All the ULS traces fetched are presented in a ListView with the following format :

  1. Every item is a collapsed Expander, bringing to the user the minimum required information (timestamp and a summary of the message). If you want to see more just expand the Expander.
  2. The message comes limited to a certain amount of characters, if you want to see the full message click on the “More details” link that will be explained later.
  3. Filtering links. By clicking any of the links for Area, Category, Level or Correlation ID automatically you apply a filter for this value.
  4. When the message is too long is been cropped. By clicking “More details” you get the full message and a little bit more…

moredetails.png

  1. The full ULS trace.
  2. Send this message to a collegue.
  3. Search the web for this message or a part of it by selecting the text of your preference in the TextBox.

Every ULS trace that its level is one of the : Warning, Critical or Unexpected is adorned by a respective icon and alarm color like in the following pictures :

warning.png

critical.png

Hint : Press “End” button while having focus on your ListView and set it to autoscroll mode. Otherwise it keep visible the last selected item.

Related

For an even more enhanced SharePoint debugging experience, combine the Visual Studio ULS Viewer with our other tool Visual Studio SharePoint Debugging Assistant : https://spassistant.codeplex.com

Follow me on twitter for fun dev staff or related to our tools : https://twitter.com/akyriako78

Advertisements

SharePoint Debugging Assistant (free Visual Studio 2012/2013 add-in)

Project Description
SharePoint Debugging Assistant is free of charge Visual Studio add-in that will save you time by automating the SharePoint (or any other server-side code running under IIS hood) debugging.

About
Debugging SharePoint SOM code by attaching to the corresponding IIS process can become a tedious, frustrating and time consuming activity for every developer. It requires a 3 steps procedure that in the end might leave you with an aftertaste of uncertainty :

  1. Debug Menu -> Attach to Process…
  2. Select “Show processes from all users” in case you develop following a Medium/High Security Option paradigm in your SharePoint development environment (you SHOULD!!!).
  3. Select the “correct” w3wp.exe process that your web application runs under (????).

As you can notice in the picture we face the following inconveniences :

processes.PNG

  • w3wp.exe has no “Title” to indicate user friendly information.
  • w3wp.exe’s “ID” is an arbitrary integer value assigned by IIS upon creation and every time an application pool has been recycled is automatically renewed.

So which is your target process ?

Workaround : Many developers just for brevity choose attaching to all available w3wp.exe processes. This is where SharePoint Assistant applies :

Based on a pull model of interrogating directly the IIS metabase, SharePoint Assistant periodically or ad-hoc populates a list with all the active application pools of IIS and correlates them with the underlying w3wp.exe process. Within just a right-click developer is capable of recycling or attaching to any application pool of his interest utilizing directly the generic Visual Studio debugging engine and the IIS metabase.

window.PNG

SharePoint Assistant was conceptualized and developed in order to bring a holistic one-stop experience for the web developer, integrated in his natural habitat : Visual Studio. So attaching to and debugging a w3wp.exe process (IIS working process) is simply not enough for a SharePoint developer. A lot of artifacts are running under certain local Windows Services (TimerJobs, Workflows SP14) or in separate new systems under the hood of a discrete processes (Workflows SP15).

SharePoint Assistant is aggregating vital signs (pull model) from the necessary processes and visualizes them via traffic light indicators so the developer is aware at any given moment of the operational status of his box :

  1. IIS : Developer can reset the application server on demand.
  2. SharePoint Timer Service : The Windows Service responsible,among others, for the execution of timer jobs and workflows (WF3 in SharePoint 2010/2013). Possible to Attach and Restart.
  3. Workflow Manager 1.x Processes : The Windows Processes that Workflow Manager 1.x is running under (WF4, SharePoint 2013). Possible only to Attach.