Using PowerShell create a log file

No comments

In this post I will show that how to build or create a logging function in PowerShell in the PowerShell “.ps1” file directory. However, we can change to any directory wherever we wish – only we need to change the directory path.

How to create a log file for the PowerShell scripting or coding?

cls
$fileName = "File_Uploading_Report"
$enddate = (Get-Date).tostring("yyyyMMddhhmmss") 
$logFileName = $fileName +"_"+ $enddate+"_Log.txt"   
$invocation = (Get-Variable MyInvocation).Value  
$directoryPath = Split-Path $invocation.MyCommand.Path

$directoryPathForLog=$directoryPath+"\"+"LogFiles"
if(!(Test-Path -path $directoryPathForLog))  
        {  
            New-Item -ItemType directory -Path $directoryPathForLog
               
        }

$logPath = $directoryPathForLog + "\" + $logFileName
$isLogFileCreated = $False 

function Write-Log([string]$logMsg)  
{   
    if(!$isLogFileCreated){   
        Write-Host "Creating Log File..."   
        if(!(Test-Path -path $directoryPath))  
        {  
            Write-Host "Please Provide Proper Log Path" -ForegroundColor Red   
        }   
        else   
        {   
            $script:isLogFileCreated = $True   
            Write-Host "Log File ($logFileName) Created..."   
            [string]$logMessage = [System.String]::Format("[$(Get-Date)] - {0}", $logMsg)   
            Add-Content -Path $logPath -Value $logMessage   
        }   
    }   
    else   
    {   
        [string]$logMessage = [System.String]::Format("[$(Get-Date)] - {0}", $logMsg)   
        Add-Content -Path $logPath -Value $logMessage   
    }   
}

#####How to use?################################ 
$sampleLogMessage="This is a sample log entry";
Write-Log $sampleLogMessage
Write-host "Log file entry has been successfully tested"
#####How to use ends here#######################

Create a log file for the PowerShell scripting or coding – Example

CreateLogFileUsingPowerShellScriptCoding

 

Summary:

Thus, in this post we have seen how to create a log file using PowerShell function. And also learned the use of below PowerShell command and their usages:

  • (get-variable myinvocation).value for to know the source path of an executing script.
  • How to create Function in PowerShell and its usage.
  • How to create log file in PowerShell Script.
  • New-Item – Create Folders & Files using PowerShell Basics.
  • Script write-Log PowerShell Logging Function.
  • Test-Path – Folder Creation PowerShell.