operator zoeken
Van toepassing op: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel-
Hiermee vindt u rijen die overeenkomen met een predicaat in een set tabellen.
Het bereik van de operator find
kan ook meerdere databases of clusters zijn.
find in (Table1, Table2, Table3) where Fruit=="apple"
find in (database('*').*) where Fruit == "apple"
find in (cluster('cluster_name').database('MyDB*').*) where Fruit == "apple"
find in (Table1, Table2, Table3) where Fruit=="apple"
Notitie
find
operator is aanzienlijk minder efficiënt dan het filteren van kolomspecifieke tekst. Wanneer de kolommen bekend zijn, raden we u aan de te gebruiken waar de operator.
find
werkt niet goed wanneer de werkruimte een groot aantal tabellen en kolommen bevat en het gegevensvolume dat wordt gescand hoog is en het tijdsbereik van de query hoog is.
Syntaxis
find
[withsource
= ColumnName] [in
(
Tables)
]where
Prediccate [project-smart
|project
ColumnName[:
ColumnType,
... ] ] [,
pack_all()
]]find
Predicaat predicaat [project-smart
|project
ColumnName[:
ColumnType,
... ] [,
pack_all()
]]
Meer informatie over syntaxisconventies.
Parameters
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
ColumnName- | string |
De uitvoer bevat standaard een kolom met de naam source_ waarvan de waarden aangeven welke brontabel aan elke rij heeft bijgedragen. Indien opgegeven, wordt ColumnName gebruikt in plaats van source_. Als de query naar tabellen uit meer dan één database verwijst, inclusief de standaarddatabase, heeft de waarde van deze kolom een tabelnaam die is gekwalificeerd met de database. Op dezelfde manier cluster en database kwalificaties aanwezig zijn in de waarde als er naar meer dan één cluster wordt verwezen. | |
predicaat | bool |
✔️ | Deze Boole-expressie wordt geëvalueerd voor elke rij in elke invoertabel. Zie predicaatsyntaxisdetailsvoor meer informatie. |
tabellen | string |
Nul of meer door komma's gescheiden tabelverwijzingen. Standaard ziet find in alle tabellen in de huidige database. U kunt het volgende gebruiken:1. De naam van een tabel, zoals Events 2. Een query-expressie, zoals (Events | where id==42) 3. Een set tabellen die zijn opgegeven met een jokerteken. E* zou bijvoorbeeld de samenvoeging vormen van alle tabellen in de database waarvan de namen beginnen met E . |
|
project-smart of project |
string |
Als dit niet is opgegeven, wordt project-smart standaard gebruikt. Zie details van het uitvoerschemavoor meer informatie. |
withsource=
ColumnName: Optioneel. De uitvoer bevat standaard een kolom met de naam source_ waarvan de waarden aangeven welke brontabel elke rij heeft bijgedragen. Indien opgegeven, wordt ColumnName gebruikt in plaats van source_.predicaat predicaat: een
boolean
expressie boven de kolommen van de invoertabellen Tabel [,
Tabel, ...]. Deze wordt geëvalueerd voor elke rij in elke invoertabel. Zie predicaatsyntaxisdetailsvoor meer informatie.tabellen: optioneel. Nul of meer door komma's gescheiden tabelverwijzingen. Standaard zoekt in alle tabellen naar:
- De naam van een tabel, zoals
Events
- Een query-expressie, zoals
(Events | where id==42)
- Een set tabellen die zijn opgegeven met een jokerteken.
E*
zou bijvoorbeeld de samenvoeging vormen van alle tabellen waarvan de namen beginnen metE
.
- De naam van een tabel, zoals
project-smart
|project
: alsproject-smart
niet is opgegeven, wordt standaard gebruikt. Zie details van het uitvoerschemavoor meer informatie.
Retourneert
Transformatie van rijen in Tabel [,
Tabel, ...] waarvoor predicaat is true
. De rijen worden getransformeerd volgens het uitvoerschema.
Uitvoerschema
source_ kolom
De uitvoer van de find
-operator bevat altijd een source_ kolom met de naam van de brontabel. De naam van de kolom kan worden gewijzigd met behulp van de parameter withsource
.
kolommen met resultaten
Brontabellen die geen kolom bevatten die door de predicaatsevaluatie worden gebruikt, worden uitgefilterd.
Wanneer u project-smart
gebruikt, zijn de kolommen die in de uitvoer worden weergegeven:
- Kolommen die expliciet worden weergegeven in het predicaat.
- Kolommen die gebruikelijk zijn voor alle gefilterde tabellen.
De rest van de kolommen wordt verpakt in een eigenschappentas en wordt weergegeven in een extra pack
kolom.
Een kolom waarnaar expliciet wordt verwezen door het predicaat en wordt weergegeven in meerdere tabellen met meerdere typen, heeft een andere kolom in het resultaatschema voor elk dergelijk type. Elk van de kolomnamen wordt samengesteld op basis van de oorspronkelijke kolomnaam en het type, gescheiden door een onderstrepingsteken.
Wanneer u project
ColumnName[:
ColumnType,
... ] [,
pack_all()
]:
- De resultatentabel bevat de kolommen die zijn opgegeven in de lijst. Als een brontabel geen bepaalde kolom bevat, zijn de waarden in de bijbehorende rijen null.
- Wanneer u een ColumnType- met een ColumnName-opgeeft, heeft deze kolom in het resultaat het opgegeven type en worden de waarden indien nodig naar dat type geconverteerd. Het casten heeft geen effect op het kolomtype bij het evalueren van het predicaat predicaat.
- Wanneer
pack_all()
wordt gebruikt, worden alle kolommen, inclusief de geprojecteerde kolommen, in een eigenschappentas verpakt en weergegeven in een extra kolom, standaard 'kolom1'. In de eigenschapsverzameling fungeert de naam van de bronkolom als de naam van de eigenschap en fungeert de waarde van de kolom als de eigenschapswaarde.
Predicaatsyntaxis
De operator find
ondersteunt een alternatieve syntaxis voor de * has
term en zoekt met behulp van termeen term in alle invoerkolommen.
Zie waar operatorvoor een samenvatting van sommige filterfuncties.
Overwegingen
- Als de
project
component verwijst naar een kolom die in meerdere tabellen wordt weergegeven en meerdere typen heeft, moet een type deze kolomverwijzing in de projectcomponent volgen - Als een kolom in meerdere tabellen wordt weergegeven en meerdere typen heeft en
project-smart
wordt gebruikt, is er een overeenkomende kolom voor elk type in het resultaat van defind
, zoals beschreven in samenvoegings- - Wanneer u project smartgebruikt, kunnen wijzigingen in het predicaat, in de set brontabellen of in het tabellenschema leiden tot een wijziging in het uitvoerschema. Als er een constant resultaatschema nodig is, gebruikt u in plaats daarvan project
-
find
bereik kan geen functiesbevatten. Als u een functie wilt opnemen in hetfind
bereik, definieert u een let-instructie met trefwoordweergave.
Tips voor prestaties
- Gebruik tabellen in plaats van tabellaire expressies.
Als een tabellaire expressie wordt weergegeven, valt de zoekoperator terug op een
union
query die kan leiden tot verminderde prestaties. - Als een kolom die in meerdere tabellen wordt weergegeven en meerdere typen heeft, deel uitmaakt van de projectcomponent, geeft u de voorkeur aan het toevoegen van een ColumnType- aan de projectcomponent over het wijzigen van de tabel voordat u deze doorgeeft aan
find
. - Voeg tijdfilters toe aan het predicaat. Gebruik een datum/tijd-kolomwaarde of ingestion_time().
- Zoeken in specifieke kolommen in plaats van een zoekopdracht in volledige tekst.
- Het is beter om niet te verwijzen naar kolommen die in meerdere tabellen worden weergegeven en meerdere typen hebben. Als het predicaat geldig is bij het omzetten van een dergelijk kolomtype voor meer dan één type, valt de query terug op samenvoeging.
Zie bijvoorbeeld voorbeelden van gevallen waarin
find
fungeert als een samenvoegings-.
Voorbeelden
In de voorbeelden in dit artikel worden openbaar beschikbare tabellen gebruikt in de Help-cluster, zoals de
StormEvents
tabel in de Voorbeelden database.
In de voorbeelden in dit artikel worden openbaar beschikbare tabellen gebruikt, zoals de tabel
StormEvents
in de weather analytics voorbeeldgegevens.
Termenzoekactie in alle tabellen
De query vindt alle rijen uit alle tabellen in de huidige database waarin een kolom het woord Hernandez
bevat. De resulterende records worden getransformeerd volgens het uitvoerschema. De uitvoer bevat rijen uit de Customers
tabel en de SalesTable
tabel van de ContosoSales
-database.
find "Hernandez"
uitvoer
In deze tabel ziet u de eerste drie rijen van de uitvoer.
bron_ | inpakken_ |
---|---|
Klanten | {"CityName":"Ballard","CompanyName":"NULL","ContinentName":"Noord-Amerika","CustomerKey":5023,"Education":"Partial High School","FirstName":"Devin"," Geslacht":"M","Achternaam":"Hernandez","MaritalStatus":"S","Bezetting":"Clerical","RegionCountryName":"Verenigde Staten","StateProvinceName":"Washington"} |
Klanten | {"CityName":"Ballard","CompanyName":"NULL","ContinentName":"Noord-Amerika","CustomerKey":7814,"Education":"Partial College","FirstName":"Kristy"," Geslacht":"F","LastName":"Hernandez","MaritalStatus":"S","Occupation":"Professional","RegionCountryName":"United States","StateProvinceName":"Washington"} |
Klanten | {"CityName":"Ballard","CompanyName":"NULL","ContinentName":"Noord-Amerika","CustomerKey":7888,"Education":"Partial High School","FirstName":"Kari"," Geslacht":"F","Achternaam":"Hernandez","MaritalStatus":"S","Bezetting":"Clerical","RegionCountryName":"Verenigde Staten","StateProvinceName":"Washington"} |
... | ... |
Term opzoeken in alle tabellen die overeenkomen met een naampatroon
Met de query worden alle rijen uit alle tabellen in de huidige database gevonden waarvan de naam begint met C
en waarin een kolom het woord Hernandez
bevat. De resulterende records worden getransformeerd volgens het uitvoerschema. De uitvoer bevat nu alleen records uit de Customers
tabel.
find in (C*) where * has "Hernandez"
uitvoer
In deze tabel ziet u de eerste drie rijen van de uitvoer.
bron_ | inpakken_ |
---|---|
ConferenceSessions | {"conference":"Build 2021","sessionid":"CON-PRT103","session_title":"Roundtable: Advanced Kusto query language topics","session_type":"Roundtable","owner":"Avner Aharoni","participants":"Alexander Sloutsky, Tzvia Gitlin-Troyna","URL":"https://sessions.mybuild.microsoft.com/sessions/details/4d4887e9-f08d-4f88-99ac-41e5feb869e7","level":200,"session_location":"Online","starttime":"2021-05-26T08:30:00.0000000Z","duration":60,"time_and_duration":"Woensdag, 26 mei\n8:30 - 9:30 UUR GMT","kusto_affinity":"Focused"} |
ConferenceSessions | {"conference":"Ignite 2018","sessionid":"THR3115","session_title":"Azure Log Analytics: Deep dive into the Azure Kusto query language. ","session_type":"Theater","owner":"Jean François Berenguer","deelnemers":""URL":"https://myignite.techcommunity.microsoft.com/sessions/66329","level":300,"session_location":"""starttime":null,"duration":null,"time_and_duration":"","kusto_affinity":"Focused"} |
ConferenceSessions | {"conference":"Build 2021","sessionid":"CON-PRT103","session_title":"Roundtable: Advanced Kusto query language topics","session_type":"Roundtable","owner":"Avner Aharoni","participants":"Alexander Sloutsky, Tzvia Gitlin-Troyna","URL":"https://sessions.mybuild.microsoft.com/sessions/details/4d4887e9-f08d-4f88-99ac-41e5feb869e7","level":200,"session_location":"Online","starttime":"2021-05-26T08:30:00.0000000Z","duration":60,"time_and_duration":"Woensdag, 26 mei\n8:30 - 9:30 UUR GMT","kusto_affinity":"Focused"} |
... | ... |
Termzoekactie in het cluster
De query zoekt alle rijen uit alle tabellen in alle databases in het cluster waarin een kolom het woord Kusto
bevat.
Deze query is een query voor meerdere databases.
De resulterende records worden getransformeerd volgens het uitvoerschema.
find in (database('*').*) where * has "Kusto"
uitvoer
In deze tabel ziet u de eerste drie rijen van de uitvoer.
bron_ | inpakken_ |
---|---|
database("Voorbeelden"). ConferenceSessions | {"conference":"Build 2021","sessionid":"CON-PRT103","session_title":"Roundtable: Advanced Kusto query language topics","session_type":"Roundtable","owner":"Avner Aharoni","participants":"Alexander Sloutsky, Tzvia Gitlin-Troyna","URL":"https://sessions.mybuild.microsoft.com/sessions/details/4d4887e9-f08d-4f88-99ac-41e5feb869e7","level":200,"session_location":"Online","starttime":"2021-05-26T08:30:00.0000000Z","duration":60,"time_and_duration":"Woensdag, 26 mei\n8:30 - 9:30 UUR GMT","kusto_affinity":"Focused"} |
database("Voorbeelden"). ConferenceSessions | {"conference":"Ignite 2018","sessionid":"THR3115","session_title":"Azure Log Analytics: Deep dive into the Azure Kusto query language. ","session_type":"Theater","owner":"Jean François Berenguer","deelnemers":""URL":"https://myignite.techcommunity.microsoft.com/sessions/66329","level":300,"session_location":"""starttime":null,"duration":null,"time_and_duration":"","kusto_affinity":"Focused"} |
database("Voorbeelden"). ConferenceSessions | {"conference":"Build 2021","sessionid":"CON-PRT103","session_title":"Roundtable: Advanced Kusto query language topics","session_type":"Roundtable","owner":"Avner Aharoni","participants":"Alexander Sloutsky, Tzvia Gitlin-Troyna","URL":"https://sessions.mybuild.microsoft.com/sessions/details/4d4887e9-f08d-4f88-99ac-41e5feb869e7","level":200,"session_location":"Online","starttime":"2021-05-26T08:30:00.0000000Z","duration":60,"time_and_duration":"Woensdag, 26 mei\n8:30 - 9:30 UUR GMT","kusto_affinity":"Focused"} |
... | ... |
Termzoekactie die overeenkomt met een naampatroon in het cluster
De query zoekt alle rijen uit alle tabellen waarvan de naam begint met K
in alle databases waarvan de naam begint met B
en waarin een kolom het woord Kusto
bevat.
De resulterende records worden getransformeerd volgens het uitvoerschema.
find in (database("S*").C*) where * has "Kusto"
uitvoer
In deze tabel ziet u de eerste drie rijen van de uitvoer.
bron_ | inpakken_ |
---|---|
ConferenceSessions | {"conference":"Build 2021","sessionid":"CON-PRT103","session_title":"Roundtable: Advanced Kusto query language topics","session_type":"Roundtable","owner":"Avner Aharoni","participants":"Alexander Sloutsky, Tzvia Gitlin-Troyna","URL":"https://sessions.mybuild.microsoft.com/sessions/details/4d4887e9-f08d-4f88-99ac-41e5feb869e7","level":200,"session_location":"Online","starttime":"2021-05-26T08:30:00.0000000Z","duration":60,"time_and_duration":"Woensdag, 26 mei\n8:30 - 9:30 UUR GMT","kusto_affinity":"Focused"} |
ConferenceSessions | {"conference":"Build 2021","sessionid":"CON-PRT103","session_title":"Roundtable: Advanced Kusto query language topics","session_type":"Roundtable","owner":"Avner Aharoni","participants":"Alexander Sloutsky, Tzvia Gitlin-Troyna","URL":"https://sessions.mybuild.microsoft.com/sessions/details/4d4887e9-f08d-4f88-99ac-41e5feb869e7","level":200,"session_location":"Online","starttime":"2021-05-26T08:30:00.0000000Z","duration":60,"time_and_duration":"Woensdag, 26 mei\n8:30 - 9:30 UUR GMT","kusto_affinity":"Focused"} |
ConferenceSessions | {"conference":"Build 2021","sessionid":"CON-PRT103","session_title":"Roundtable: Advanced Kusto query language topics","session_type":"Roundtable","owner":"Avner Aharoni","participants":"Alexander Sloutsky, Tzvia Gitlin-Troyna","URL":"https://sessions.mybuild.microsoft.com/sessions/details/4d4887e9-f08d-4f88-99ac-41e5feb869e7","level":200,"session_location":"Online","starttime":"2021-05-26T08:30:00.0000000Z","duration":60,"time_and_duration":"Woensdag, 26 mei\n8:30 - 9:30 UUR GMT","kusto_affinity":"Focused"} |
... | ... |
Termenzoekactie in verschillende clusters
De query zoekt alle rijen uit alle tabellen waarvan de naam begint met K
in alle databases waarvan de naam begint met B
en waarin een kolom het woord Kusto
bevat.
De resulterende records worden getransformeerd volgens het uitvoerschema.
find in (cluster("cluster1").database("B*").K*, cluster("cluster2").database("C*".*))
where * has "Kusto"
Termenzoekactie in alle tabellen
De query zoekt alle rijen uit alle tabellen waarin een kolom het woord Kusto
bevat.
De resulterende records worden getransformeerd volgens het uitvoerschema.
find "Kusto"
Voorbeelden van find
uitvoerresultaten
In de volgende voorbeelden ziet u hoe find
kan worden gebruikt in twee tabellen: EventsTable1 en EventsTable2.
Stel dat we de volgende inhoud van deze twee tabellen hebben:
EventsTable1
Session_Id | Niveau | EventText | Versie |
---|---|---|---|
acbd207d-51aa-4df7-bfa7-be70eb68f04e | Informatie | Sommige tekst1 | v1.0.0 |
acbd207d-51aa-4df7-bfa7-be70eb68f04e | Fout | Sommige tekst2 | v1.0.0 |
28b8e46e-3c31-43cf-83cb-48921c3986fc | Fout | Sommige tekst3 | v1.0.1 |
8f057b11-3281-45c3-a856-05ebb18a3c59 | Informatie | Sommige tekst4 | v1.1.0 |
EventsTable2
Session_Id | Niveau | EventText | EventName |
---|---|---|---|
f7d5f95f-f580-4ea6-830b-5776c8d64fdd | Informatie | Andere tekst1 | Gebeurtenis1 |
acbd207d-51aa-4df7-bfa7-be70eb68f04e | Informatie | Andere tekst2 | Gebeurtenis2 |
acbd207d-51aa-4df7-bfa7-be70eb68f04e | Fout | Andere tekst3 | Gebeurtenis3 |
15eaeab5-8576-4b58-8fc6-478f75d8fee4 | Fout | Andere tekst4 | Gebeurtenis4 |
Zoeken in gemeenschappelijke kolommen, algemene en ongebruikelijke kolommen en de rest inpakken
De query zoekt naar specifieke records in EventsTable1 en EventsTable2 op basis van een bepaalde Session_Id en een fout niveau. Vervolgens worden drie specifieke kolommen geprojecteert: EventText, versionen EventNameen worden alle overige resterende kolommen in een dynamisch object verpakt.
find in (EventsTable1, EventsTable2)
where Session_Id == 'acbd207d-51aa-4df7-bfa7-be70eb68f04e' and Level == 'Error'
project EventText, Version, EventName, pack_all()
uitvoer
bron_ | EventText | Versie | EventName | inpakken_ |
---|---|---|---|---|
EventsTable1 | Sommige tekst2 | v1.0.0 | {"Session_Id":"acbd207d-51aa-4df7-bfa7-be70eb68f04e", "Level":"Error"} | |
EventsTable2 | Andere tekst3 | Gebeurtenis3 | {"Session_Id":"acbd207d-51aa-4df7-bfa7-be70eb68f04e", "Level":"Error"} |
Zoeken in algemene en ongebruikelijke kolommen
Met de query wordt gezocht naar records met versie als v1.0.0 of EventName als 'Event1' en wordt vervolgens vier specifieke kolommen geprojecteerd(selecteert): Session_Id, EventText, Versionen EventName uit die gefilterde resultaten.
find Version == 'v1.0.0' or EventName == 'Event1' project Session_Id, EventText, Version, EventName
uitvoer
bron_ | Session_Id | EventText | Versie | EventName |
---|---|---|---|---|
EventsTable1 | acbd207d-51aa-4df7-bfa7-be70eb68f04e | Sommige tekst1 | v1.0.0 | |
EventsTable1 | acbd207d-51aa-4df7-bfa7-be70eb68f04e | Sommige tekst2 | v1.0.0 | |
EventsTable2 | f7d5f95f-f580-4ea6-830b-5776c8d64fdd | Andere tekst1 | Gebeurtenis1 |
Notitie
In de praktijk worden EventsTable1 rijen gefilterd met Version == 'v1.0.0'
predicaat en EventsTable2 rijen gefilterd met EventName == 'Event1'
predicaat.
Verkorte notatie gebruiken om te zoeken in alle tabellen in de huidige database
Met deze query wordt in de database gezocht naar records met een Session_Id die overeenkomt met 'acbd207d-51aa-4df7-bfa7-be70eb68f04e'. Hiermee worden records opgehaald uit alle tabellen en kolommen die deze specifieke Session_Idbevatten.
find Session_Id == 'acbd207d-51aa-4df7-bfa7-be70eb68f04e'
uitvoer
bron_ | Session_Id | Niveau | EventText | inpakken_ |
---|---|---|---|---|
EventsTable1 | acbd207d-51aa-4df7-bfa7-be70eb68f04e | Informatie | Sommige tekst1 | {"Versie":"v1.0.0"} |
EventsTable1 | acbd207d-51aa-4df7-bfa7-be70eb68f04e | Fout | Sommige tekst2 | {"Versie":"v1.0.0"} |
EventsTable2 | acbd207d-51aa-4df7-bfa7-be70eb68f04e | Informatie | Andere tekst2 | {"EventName":"Event2"} |
EventsTable2 | acbd207d-51aa-4df7-bfa7-be70eb68f04e | Fout | Andere tekst3 | {"EventName":"Event3"} |
De resultaten van elke rij retourneren als een eigenschapsverzameling
Deze query doorzoekt de database op records met de opgegeven Session_Id en retourneert alle kolommen van deze records als één dynamisch object.
find Session_Id == 'acbd207d-51aa-4df7-bfa7-be70eb68f04e' project pack_all()
uitvoer
bron_ | inpakken_ |
---|---|
EventsTable1 | {"Session_Id":"acbd207d-51aa-4df7-bfa7-be70eb68f04e", "Level":"Information", "EventText":"Some Text1", "Version":"v1.0.0"} |
EventsTable1 | {"Session_Id":"acbd207d-51aa-4df7-bfa7-be70eb68f04e", "Level":"Error", "EventText":"Some Text2", "Version":"v1.0.0"} |
EventsTable2 | {"Session_Id":"acbd207d-51aa-4df7-bfa7-be70eb68f04e", "Level":"Information", "EventText":"Some Other Text2", "EventName":"Event2"} |
EventsTable2 | {"Session_Id":"acbd207d-51aa-4df7-bfa7-be70eb68f04e", "Level":"Error", "EventText":"Some Other Text3", "EventName":"Event3"} |
Voorbeelden van gevallen waarin find
fungeert als union
De operator find
in Kusto kan soms fungeren als een union
-operator, voornamelijk wanneer deze wordt gebruikt om in meerdere tabellen te zoeken.
Een niet-tabellaire expressie gebruiken als operand zoeken
De query maakt eerst een weergave die filtert EventsTable1 om alleen records op foutniveau op te nemen. Vervolgens wordt in deze gefilterde weergave en in de tabel EventsTable2 gezocht naar records met een specifieke Session_Id.
let PartialEventsTable1 = view() { EventsTable1 | where Level == 'Error' };
find in (PartialEventsTable1, EventsTable2)
where Session_Id == 'acbd207d-51aa-4df7-bfa7-be70eb68f04e'
Verwijzen naar een kolom die in meerdere tabellen wordt weergegeven en meerdere typen heeft
Maak voor dit voorbeeld twee tabellen door het volgende uit te voeren:
.create tables
Table1 (Level:string, Timestamp:datetime, ProcessId:string),
Table2 (Level:string, Timestamp:datetime, ProcessId:int64)
- De volgende query wordt uitgevoerd als
union
.
find in (Table1, Table2) where ProcessId == 1001
Het uitvoerresultaatschema is (Level:string, Timestamp, ProcessId_string, ProcessId_int).
- De volgende query wordt uitgevoerd als
union
, maar produceert een ander resultaatschema.
find in (Table1, Table2) where ProcessId == 1001 project Level, Timestamp, ProcessId:string
Het uitvoerresultaatschema is (Level:string, Timestamp, ProcessId_string)