get-MultipleLogFiles.ps1

function get-MultipleLogFiles
{
    Param
    (
        [Parameter(Mandatory = $true)]
        $fileName,
        [Parameter(Mandatory = $true)]
        $baseName,
        [Parameter(Mandatory = $true)]
        $logFolderPath
    )

    out-logfile -string "Start Get-MultipleLogFiles"

    $rootPath = $logFolderPath + "\" + $baseName + "\"
    $fileName = $fileName+".log"

    out-logfile -string ("Root Path: "+$rootPath)
    out-logfile -string ("File Name: "+$fileName)

    $files = @(Get-ChildItem -path $rootPath -name $fileName -Recurse)

    out-logfile -string ("File Count: "+$files.count.tostring())

    for ($i = 0 ; $i -lt $files.count ; $i++)
    {
        out-logfile -string ("Processing file: "+$files[$i])

        $importFile = $rootPath + $files[$i]

        if ($importFile -ne $global:LogFile)
        {
            out-logfile -string ("Processing import file: "+$importFile)

            try {
                $data = get-content -Path $importFile -errorAction STOP
            }
            catch {
                out-logfile -string "Unable to obtain the log file contents."
                out-logfile -string $_ -isError:$TRUE
            }
        }
        else 
        {
            out-logfile -string "Main log file - skip"
        }

        out-logfile -string "---------------------------------------------------------------"
        out-logfile -string ("Job Log for Job: "+$i.tostring())
        out-logfile -string "---------------------------------------------------------------"

        try {
            $data | Out-File -FilePath $global:LogFile -Append -ErrorAction STOP
        }
        catch {
            out-logfile -string "Unable to append job logs to the main log file."
            out-logfile -string $_ -isError:$TRUE
        }
    }
        
    out-logfile -string "End Get-MultipleLogFiles"
}