У меня есть две строки журнала, подобные этой:
[2020-04-01][14:57:31]E: Step 8/13: Main workflow (Python) (8m:48s)
[2020-04-01][15:14:02]W: Cannot find Latest build with tag: 'ArtifactSizeBaseline' to calculate metric 'total artifacts size'.
и соответствующая строка, подобная этой
%{DATE:EventDate}\]\[%{TIME:EventTime}\](\s+)?%{WORD:Loglevel}:(\s+)?%{DATA:Step}:(\s+)%{GREEDYDATA:EventMessage}
Мой вывод должен выглядеть так для первого оператора:
{'EventDate':'2020-04-01', 'EventTime':'14:57:31', 'LogLevel':'E', 'Step':'Step 8/13', 'EventMessage':'Main workflow (Python) (8m:48s)'}
В идеале второй логлайн не содержит шага. Таким образом, вывод должен выглядеть следующим образом:
{'EventDate':'2020-04-01', 'EventTime':'15:14:02', 'LogLevel':'W', 'Step':'', 'EventMessage':'Cannot find Latest build with tag: 'ArtifactSizeBaseline' to calculate metric 'total artifacts size'.'}
Но что я получаю, это
{'EventDate':'2020-04-01', 'EventTime':'15:14:02', 'LogLevel':'W', 'Step':'Cannot find Latest build with tag: ', 'EventMessage':''ArtifactSizeBaseline' to calculate metric 'total artifacts size'.'}
Есть ли способ для строки совпадения различать эти две строки журнала?