There is new feature in Project Server 2013 called the Log Level Manager that enables you to track certain entities such as Projects, Resources and Tasks etc. Once configured, all activity on the farm for that particular entity, depending on the logging level set, is logged in the SharePoint ULS logs.
More details can be found here:
The log level manager is configured using PowerShell, the Project Server 2013 preview PowerShell commands can be found here:
For the purpose of this blog post I have enabled logging for one test project, the project is called PMPSTest1 and the project GUID is 35cafba6-38d6-e111-9923-4c809328175b. Below you can see the PowerShell commands used to set up the logging for this one project:
Notice the refresh command, this is required to update the cached list of entities to watch.
As mentioned above the log level manager writes the logs into the SharePoint ULS logs, an example can be seen below:
An example entry:
LogLevelManager!PWA:http://vm657/PWAClassic, ServiceApp:Project Server Service Application, User:i:0#.w|cps\paulmather, PSI: Start checkout of project ’35cafba6-38d6-e111-9923-4c809328175b’ by resource ‘f8a06617-38d6-e111-bf72-00155d1463b9’ to store ‘WorkingStore’. Project:35cafba6-38d6-e111-9923-4c809328175b Original TraceLevel:Medium 9f6fbd9b-85f6-e003-5b7a-17f60ec5f059
The SharePoint ULS logs aren’t the nicest of log files to look through at the best of times, never mind trying to look for logs regarding the specific Project Server entities that you are tracking. I will create a simple PowerShell script to take all of the log level manager entries from the ULS logs and place these into a new text file/s. This will enable you to view all of the Project Server log level manager entries without the other SharePoint entries.
The log level manager is very useful for auditing / tracking activity for a certain project, task or timesheet etc. It would not be recommended to enable verbose logging for all entities in Project Server though!