mirror of
https://github.com/Icinga/icinga-powershell-framework.git
synced 2025-12-21 15:19:58 -05:00
38 lines
1.2 KiB
PowerShell
38 lines
1.2 KiB
PowerShell
|
|
function Publish-IcingaEventlogDocumentation()
|
||
|
|
{
|
||
|
|
param(
|
||
|
|
[string]$Namespace,
|
||
|
|
[string]$OutFile
|
||
|
|
);
|
||
|
|
|
||
|
|
[string]$DocContent = [string]::Format(
|
||
|
|
'# {0} Eventlog Documentation',
|
||
|
|
$Namespace
|
||
|
|
);
|
||
|
|
$DocContent += New-IcingaNewLine;
|
||
|
|
$DocContent += New-IcingaNewLine;
|
||
|
|
$DocContent += "Below you will find a list of EventId's which are exported by this module. The short and detailed message are both written directly into the eventlog. This documentation shall simply provide a summary of available EventId's";
|
||
|
|
|
||
|
|
$SortedArray = $IcingaEventLogEnums[$Namespace].Keys.GetEnumerator() | Sort-Object;
|
||
|
|
|
||
|
|
foreach ($entry in $SortedArray) {
|
||
|
|
$entry = $IcingaEventLogEnums[$Namespace][$entry];
|
||
|
|
|
||
|
|
$DocContent = [string]::Format(
|
||
|
|
'{0}{2}{2}## Event Id {1}{2}{2}| Category | Short Message | Detailed Message |{2}| --- | --- | --- |{2}| {3} | {4} | {5} |',
|
||
|
|
$DocContent,
|
||
|
|
$entry.EventId,
|
||
|
|
(New-IcingaNewLine),
|
||
|
|
$entry.EntryType,
|
||
|
|
$entry.Message,
|
||
|
|
$entry.Details
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
if ([string]::IsNullOrEmpty($OutFile)) {
|
||
|
|
Write-Output $DocContent;
|
||
|
|
} else {
|
||
|
|
Write-IcingaFileSecure -File $OutFile -Value $DocContent;
|
||
|
|
}
|
||
|
|
}
|