Skip to content

Commit

Permalink
logging engine and config engine
Browse files Browse the repository at this point in the history
  • Loading branch information
KelvinTegelaar committed May 31, 2022
1 parent 11ebe22 commit cb3aa4f
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 52 deletions.
8 changes: 7 additions & 1 deletion AddAlert/run.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,13 @@ $Results = foreach ($Tenant in $tenants) {
Type = "Alert"

} | ConvertTo-Json
$JSONFile = New-Item -Path ".\Cache_Scheduler\$tenant.alert.json" -Value $CompleteObject -Force -ErrorAction Stop

$TableRow = @{
table = $Table
rowKey = [guid]::NewGuid()
property = $LogRequest
}
get-cipptable -TableName "AlertConfig" | Add-AzTableRow @TableRow
"Succesfully added Alert for $($Tenant) to queue."
Log-Request -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $tenant -message "Succesfully added Alert for $($Tenant) to queue." -Sev "Info"
}
Expand Down
40 changes: 20 additions & 20 deletions GraphHelper.psm1
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
function Get-CIPPTable {
[CmdletBinding()]
param (
$tablename = 'CippLogs'
)
$context = New-AzStorageContext -ConnectionString $ENV:AzureWebJobsStorage
try {
$StorageTable = Get-AzStorageTable -Context $context -Name $tablename -ErrorAction Stop
}
catch {
New-AzStorageTable -Context $context -Name $tablename | Out-Null
$StorageTable = Get-AzStorageTable -Context $context -Name $tablename
}
return $StorageTable.CloudTable
}
function Get-NormalizedError {
[CmdletBinding()]
param (
Expand Down Expand Up @@ -51,19 +66,8 @@ function Get-GraphToken($tenantid, $scope, $AsApp, $AppID, $refreshToken, $Retur

function Log-Request ($message, $tenant = "None", $API = "None", $user, $sev) {
$username = ([System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($user)) | ConvertFrom-Json).userDetails
$context = New-AzStorageContext -ConnectionString $ENV:AzureWebJobsStorage
$tablename = 'CippLogs'

try {
$StorageTable = Get-AzStorageTable -Context $context -Name $tablename -ErrorAction Stop
}
catch {
New-AzStorageTable -Context $context -Name $tablename | Out-Null
$StorageTable = Get-AzStorageTable -Context $context -Name $tablename
}
$Table = $StorageTable.CloudTable
#$date = (Get-Date).ToString('s')
#$LogMutex = New-Object System.Threading.Mutex($false, 'LogMutex')
$Table = Get-CIPPTable
if (!$username) { $username = 'CIPP' }
if ($sev -eq 'Debug' -and $env:DebugMode -ne 'true') {
Write-Information 'Not writing to log file - Debug mode is not enabled.'
Expand All @@ -83,13 +87,8 @@ function Log-Request ($message, $tenant = "None", $API = "None", $user, $sev) {
rowKey = [guid]::NewGuid()
property = $LogRequest
}
Write-Host ($TableRow | ConvertTo-Json)
<#$CleanMessage = [string]::join(' ', ($message.Split("`n"))) -replace '[|]', ':'
$logdata = "$($date)|$($tenant)|$($API)|$($CleanMessage)|$($username)|$($sev)"
if ($LogMutex.WaitOne(1000)) {
$logdata | Out-File -Append -FilePath "Logs\$((Get-Date).ToString('ddMMyyyy')).log" -Force
}
$LogMutex.ReleaseMutex()#>
Add-AzTableRow @TableRow | Out-Null

}

function New-GraphGetRequest ($uri, $tenantid, $scope, $AsApp, $noPagination) {
Expand Down Expand Up @@ -489,4 +488,5 @@ function New-DeviceLogin {
}
}
return $ReturnCode
}
}

33 changes: 2 additions & 31 deletions ListLogs/run.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -8,35 +8,18 @@ Log-Request -user $request.headers.'x-ms-client-principal' -API $APINAME -messag

if ($request.Query.SearchNow -eq 'True') {
$LogLevel = ($Request.query.Severity).split(',')
#$date = $Request.query.DateFilter
$PartitionKey = $Request.query.DateFilter
$username = $Request.Query.User
}
else {
$LogLevel = 'Info', 'Warn', 'Error', 'Critical', 'Alert'
#$date = (Get-Date).ToString('ddMMyyyy')
$PartitionKey = Get-Date -UFormat '%Y%m%d'
$username = '*'
}
$context = New-AzStorageContext -ConnectionString $ENV:AzureWebJobsStorage
$tablename = 'CippLogs'
try {
$StorageTable = Get-AzStorageTable -Context $context -Name $tablename -ErrorAction Stop
}
catch {
New-AzStorageTable -Context $context -Name $tablename | Out-Null
$StorageTable = Get-AzStorageTable -Context $context -Name $tablename
}

$Table = $StorageTable.CloudTable

#$IllegalLines = New-Object -TypeName 'System.Collections.ArrayList'
$Table = Get-CIPPTable

$ReturnedLog = if ($Request.Query.ListLogs) {
#Get-ChildItem 'Logs' | Select-Object Name, BaseName | ForEach-Object { @{
# value = $_.BaseName
# label = $_.BaseName
# } }

Get-AzTableRow -Table $table | Sort-Object -Unique partitionkey | ForEach-Object {
@{
value = $_.PartitionKey
Expand All @@ -57,19 +40,7 @@ else {
}
}

<#$content = Get-Content "Logs\$($date).log"
foreach ($line in $content) {
try {
$line | ConvertFrom-Csv -Header 'DateTime', 'Tenant', 'API', 'Message', 'User', 'Severity' -Delimiter '|' -ErrorAction Stop | Where-Object { $_.Severity -In $LogLevel -and $_.user -like $username
}
}
catch {
Write-Host $content.IndexOf($line)
$IllegalLines.Add($content.IndexOf($line))
}
}#>
}
#if ($IllegalLines.count -ge 1) { Log-Request "The following line numbers in the log are invalid: $IllegalLines" -API $APINAME -Sev Warn }

Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Expand Down

0 comments on commit cb3aa4f

Please sign in to comment.