This topic contains 3 replies, has 2 voices, and was last updated by
April 2, 2014 at 4:34 am #14258ParticipantPoints: 0Rank: Member
I am new here, My questions is
How can I do logging in my PowerShell script which will look like a MSBuild logging.
MSBuild error message are like,
C:\dir1\foo.resx(2) : error BC30188: Declaration expected.
I want this type of logging in my PowerShell script. I don't want to call an MSBuild project from PowerShell for this.
Is there any way to do this?
April 2, 2014 at 5:34 am #14259ParticipantPoints: 1Rank: Member
Each CMDLET has the common variables which contain. . .
You can specify Out Variable and then output the output of each command to a log file. This is how I like to do it. There may be better ways. Let me make a simple example.
Get-Service v* -OutVariable VService ## Note that my variable name "VService" does NOT have the dollar sign
$VService ## Now contains all your output
## At the end of your script you can simply use Out-File to send the content of each of your variables to a log file
$VService | Out-File -FilePath .\vservice.log -Append
you can do the same kind of thing with more than just output you can capture the warnings and errors with -WarningVariable and -ErrorVariable and maybe write those to a separate log.
April 2, 2014 at 6:51 am #14260ParticipantPoints: 0Rank: Member
But I need the script output in MSBuild output format
April 2, 2014 at 7:34 am #14265ParticipantPoints: 1Rank: Member
Ah I am not a developer so I have no idea what you are saying when you say MSBuild.
It looks a lot like XML so you may be able to play with the ConvertTo-Xml or Export-Clixml CMDLETs to make it work. Otherwise you would have to write your own format function to format table output into this XML Like "MSBuild" format. Sorry I missed that point.
The topic ‘Logging in PowerShell script like as MSBuild format’ is closed to new replies.