a
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
function Set-LogFile {
|
||||
[CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'Medium')]
|
||||
Param(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[Alias('LogPath')]
|
||||
[string]$Path,
|
||||
[Parameter(Mandatory = $true)]
|
||||
[Alias('Logname')]
|
||||
[string]$Name
|
||||
)
|
||||
|
||||
$FullPath = Get-FullPath $Path $Name
|
||||
|
||||
# Create file if it does not already exists
|
||||
if (!(Test-Path -Path $FullPath)) {
|
||||
|
||||
# Create file and start logging
|
||||
New-Item -Path $FullPath -ItemType File -Force | Out-Null
|
||||
|
||||
Add-Content -Path $FullPath -Value "***************************************************************************************************"
|
||||
Add-Content -Path $FullPath -Value " Logfile created at [$([DateTime]::Now)]"
|
||||
Add-Content -Path $FullPath -Value "***************************************************************************************************"
|
||||
Add-Content -Path $FullPath -Value ""
|
||||
Add-Content -Path $FullPath -Value ""
|
||||
}
|
||||
}
|
||||
|
||||
function Write-LogFile {
|
||||
[CmdletBinding()]
|
||||
Param(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[Alias('LogMessage')]
|
||||
[string]$Message,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[Alias('LogPath')]
|
||||
[string]$Path,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[Alias('Logname')]
|
||||
[string]$Name,
|
||||
|
||||
[ValidateSet("Error", "Warning", "Info")]
|
||||
[string]$Level = "Info"
|
||||
)
|
||||
|
||||
|
||||
Set-LogFile $Path $Name
|
||||
$FullPath = Get-FullPath $Path $Name
|
||||
|
||||
# Format date for log file
|
||||
$FormattedDate = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
|
||||
|
||||
switch ($Level) {
|
||||
'Error' {
|
||||
# Write-Error $Message
|
||||
$LevelText = '[ERROR]:'
|
||||
}
|
||||
'Warning' {
|
||||
# Write-Warning $Message
|
||||
$LevelText = '[WARNING]:'
|
||||
}
|
||||
'Info' {
|
||||
# Write-Verbose $Message
|
||||
$LevelText = '[INFO]:'
|
||||
}
|
||||
}
|
||||
Add-Content $FullPath "$FormattedDate $LevelText"
|
||||
Add-Content $FullPath "$Message"
|
||||
Add-Content $FullPath "--------------------------"
|
||||
Add-Content $FullPath ""
|
||||
}
|
||||
|
||||
function Get-FullPath {
|
||||
[CmdletBinding()]
|
||||
Param(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$Path,
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$File
|
||||
)
|
||||
|
||||
$FullPath = ""
|
||||
if ($Path.Length -gt 0) {
|
||||
if ($Path[$Path.Length - 1] -ne "\") {
|
||||
$FullPath = $Path + "\" + $File
|
||||
}
|
||||
else {
|
||||
$FullPath = $Path + $File
|
||||
}
|
||||
}
|
||||
|
||||
return $FullPath
|
||||
}
|
||||
Reference in New Issue
Block a user