Script logging

Welcome Forums General PowerShell Q&A Script logging

This topic contains 0 replies, has 1 voice, and was last updated by  Forums Archives 7 years, 2 months ago.

  • Author
  • #5452

    Points: 0
    Rank: Member

    by lasty12 at 2013-01-19 12:18:00

    Hello all, this is my first post!

    I have recently started teaching myself powershell and love it!

    My question is this: What syntax do I need to add to create a log file for each script that I create?

    Ideally the log file would be in "c:\logs" location for example and a new log would be created each time I run a script – so that I can diagnose failures/successes etc.

    Any help gratefully appreciated!


    by RichardSiddaway at 2013-01-19 12:39:56

    There's a couple of ways that come to mind.

    First off use New-EventLog to create an event log & use Write-EventLog to write messages on script start, finish, partial completion etc.

    The other way is to create a text file – could make one per day and use Add-Content to write your messages into the file

    In either case I would add the name of the script, a timestamp and who is running the script.

    Your script will need to have all of the calls to write to the log added as you create it.

    A third option is to use write-verbose and have the comments on screen

    by lasty12 at 2013-01-19 12:51:13

    Thanks Richard.

    If possible, please can you give me an example of what syntax I would need to enter for any of the above options?

    For example, in a basic command such as "route add mask -p" I would like all progress recorded.

    by DonJ at 2013-01-19 12:52:27

    Lasty, understand that there's no built-in logging mechanism. You can use Out-File to write to a file, but you have to insert those statements in your script. A timstamp, as Richard suggests, is a good way to avoid overwriting old files. You can use Get-Date to get the current date and time, and one of its methods to produce (for example) a filename-friendly date and time.

    So there's no way to magically record all progress – you only get what you write to the file yourself.

    by lasty12 at 2013-01-19 12:59:50

    Thanks DonJ, That makes sense!

    I will work on Out-File using date/time stamps and see where that leads me 🙂

    by sunnyc7 at 2013-01-23 12:37:36

    I wanted to add a quick note:
    a) You can use CLFS (Common Log File System) with Powershell, but I havent seen any Powershell code related to that.
    There is a C# example here.
    b) Another interesting way would be to use Log4Net (I havent used it). Here is an example. ... powershell


The topic ‘Script logging’ is closed to new replies.

denizli escort samsun escort muğla escort ataşehir escort kuşadası escort