Я использую Python 2.7.5 для чтения предупреждений из файла журнала и добавления его в список. Затем используйте этот список, чтобы отправить электронное письмо.
Проблема: Вывод, сгенерированный кодом, не содержит многострочного сообщения об ошибке. Он просто регистрируется до .[
. Однако мне нужно регистрировать всю ошибку, чтобы ее можно было отправить по электронной почте. Ниже приведен фрагмент кода, файл журнала, вывод, сгенерированный кодом, и ожидаемый результат.
Python код:
import arcpy, os
recLogPath = "D:/something/log.txt"
conflictMsgList = []
with open(recLogPath) as logFile:
for line in logFile:
if "Warning:" in line:
print(line)
print(conflictMsgList)
Файл журнала формат:
[06/05/2020 15:15:33] Reconciling version "SD\EL".Elliot_Menzies with sde.DEFAULT.
[06/05/2020 15:15:40] Warning: Conflicts found reconciling version "SD\EL".E_M.
[06/05/2020 15:15:40] 3 of 9 versions finished.
[06/05/2020 15:15:40] Reconciling version "SD\ME".K_M with sde.DEFAULT.
[06/05/2020 15:16:16] Warning: Error reconciling version "SD\ME".K_M.[
The geometry corresponding to an edge element may not be zero length. [class = srw.SRW.ww_pipe, oid = 23]
Field is not editable.
Lock request conflicts with an established lock [Lock request conflicts with an established lock[
SR]]
Сгенерированный вывод:
[06/05/2020 13:36:36] Warning: Conflicts found reconciling version "SD\EL".E_M.
[06/05/2020 13:36:54] Warning: Error reconciling version "SD\ME".K_M.[
Ожидаемый результат, который мне нужен:
[06/05/2020 13:36:36] Warning: Conflicts found reconciling version "SD\EL".E_M.
[06/05/2020 15:16:16] Warning: Error reconciling version "SD\ME".K_M.[
The geometry corresponding to an edge element may not be zero length. [class = srw.SRW.ww_pipe, oid = 23]
Field is not editable.
Lock request conflicts with an established lock [Lock request conflicts with an established lock[
SR]]