Public/WaykNowLogs.ps1
. "$PSScriptRoot/../Public/WaykNowLicense.ps1" . "$PSScriptRoot/../Public/WaykNowProgram.ps1" . "$PSScriptRoot/../Private/JsonHelper.ps1" function Enable-WaykNowLogs( [LoggingLevel] $LoggingLevel, [switch]$Restart ){ if($null -eq $LoggingLevel) { $LoggingLevel = [LoggingLevel]::Debug } $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False $WaykInfo = Get-WaykNowInfo if(Get-IsWindows) { if (Get-Service "WaykNowService" -ErrorAction SilentlyContinue) { if(!(Get-IsRunAsAdministrator)) { throw (New-Object RunAsAdministratorException) } $jsonGlobal = Get-Content -Raw -Path $WaykInfo.GlobalDataPath | ConvertFrom-Json $jsonGlobal = Set-JsonValue $jsonGlobal 'LoggingLevel' $LoggingLevel $fileValue = $jsonGlobal | ConvertTo-Json [System.IO.File]::WriteAllLines($WaykInfo.GlobalDataPath, $fileValue, $Utf8NoBomEncoding) } } $json = Get-Content -Raw -Path $WaykInfo.ConfigFile | ConvertFrom-Json $json = Set-JsonValue $json 'LoggingLevel' $LoggingLevel $fileValue = $json | ConvertTo-Json [System.IO.File]::WriteAllLines($WaykInfo.ConfigFile, $fileValue, $Utf8NoBomEncoding) if($Restart){ $_ = Restart-WaykNow } else{ Write-Host "Changes will only be applied after an application restart" } } function Disable-WaykNowLogs( [switch]$Restart ){ if($Restart){ Enable-WaykNowLogs -LoggingLevel "Off" -Restart } else{ Enable-WaykNowLogs -LoggingLevel "Off" } } function Export-WaykNowLogs( [Parameter(Mandatory = $true)] [string] $ExportPath ){ try{ $ExportPath = Resolve-Path -Path $ExportPath }catch{ throw "This path does not exist" } $WaykInfo = Get-WaykNowInfo if(Get-IsWindows) { if (Get-Service "WaykNowService" -ErrorAction SilentlyContinue) { if(!(Get-IsRunAsAdministrator)) { throw (New-Object RunAsAdministratorException) } Copy-Item -Path $WaykInfo.LogGlobalPath -Destination $ExportPath -Force -Recurse } } Copy-Item -Path $WaykInfo.LogPath -Destination $ExportPath -Force -Recurse } function Clear-WaykNowLogs(){ $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False $WaykInfo = Get-WaykNowInfo if(Get-IsWindows) { if (Get-Service "WaykNowService" -ErrorAction SilentlyContinue) { if(!(Get-IsRunAsAdministrator)) { throw (New-Object RunAsAdministratorException) } Remove-Item -Path $WaykInfo.LogGlobalPath -Force -Recurse } } Remove-Item -Path $WaykInfo.LogPath -Force -Recurse } Export-ModuleMember -Function Enable-WaykNowLogs, Disable-WaykNowLogs, Export-WaykNowLogs, Clear-WaykNowLogs |