dlwyatt / PowerShellLoggingModule

Automatically capture and save PowerShell console output from a script (without the limitations and headaches of Start-Transcript)
Apache License 2.0
66 stars 19 forks source link

Examples showing how to use it #10

Open deadlydog opened 4 years ago

deadlydog commented 4 years ago

Adding some examples to the ReadMe showing how to use it (not just install it) and what that looks like would be helpful. I (and I imagine others) don't even bother trying out modules/packages when there's no docs showing how to use it. Thanks!

ayewo commented 1 week ago

I hunted for the announcement link in the README (which now 404s) on the Internet Archive and found an example of how to use it:

  1. First, install it: Install-Module PowerShellLogging

  2. Save the following code to a file (e.g. test.ps1):

    
    Import-Module PowerShellLogging 

$LogFile = Enable-LogFile -Path $env:temp\test.log

Note - it is necessary to save the result of Enable-LogFile to a variable in order to keep the object alive. As soon as the $LogFile variable is reassigned or falls out of scope, the LogFile object becomes eligible for garbage collection.

$VerbosePreference = 'Continue' $DebugPreference = 'Continue'

Write-Host "Write-Host test." "Out-Default test." Write-Verbose "Write-Verbose test." Write-Debug "Write-Debug test." Write-Warning "Write-Warning test." Write-Error "Write-Error test." Write-Host "" # To display a blank line in the file and on screen. Write-Host "MultirnLinernrnOutput" # To display behavior when strings have embedded newlines.

Disable logging before the script exits (good practice, but the LogFile will be garbage collected so long as this variable was not in the Global Scope, as a backup in case the script crashes or you somehow forget to call Disable-LogFile).

$LogFile | Disable-LogFile


3. Run the sample:  `.\test.ps1`

* Original: http://gallery.technet.microsoft.com/scriptcenter/Enhanced-Script-Logging-27615f85
* Archive: https://web.archive.org/web/20200325171107/http://gallery.technet.microsoft.com/scriptcenter/Enhanced-Script-Logging-27615f85