internal/Set-LogFile.ps1
function Set-LogFile { [CmdletBinding()] Param( [Parameter(Mandatory = $false)] [string] $Path = "$env:LOCALAPPDATA", [Parameter(Mandatory = $false)] [string] $ProjectName ) $ErrorActionPreference = 'Stop' $projectName = 'EmbedDataLanding' $logFolder = "$path\Logs" if (!(Test-Path $logfolder)) { New-Item -Path $logFolder -ItemType Directory -Force Write-PSFMessage -Level Host -Message "Created $logFolder folder for logging" } $LogFile = New-Item -Path $logFolder -ItemType File -Name "$ProjectName-$(Get-date -f 'yyyyMMddHHmmss').txt" -Force if (Test-Path $logFile) { Set-PSFLoggingProvider -Name logfile -FilePath $LogFile -Enabled $true Write-PSFMessage -Level Host -Message "Initialised log file: $LogFile" Return } else { Write-PSFMessage -Level Critical -Message "Failed to initialise $logFile" -ErrorRecord $_ -ErrorAction Stop } } |