2017-01-18 2 views
0

Я возвращаю журналы cloudwatch, помещая их в файл регистратора, а затем отправляю их по почте с использованием Amazon SES. Я хочу, чтобы форматировать файлHandler регистратора перед его отправкой. Я действительно хочу, чтобы иметь хорошее читаемое письмо с цветами и столбцами ...отформатируйте журналы с помощью HTML-шаблона

logLevel = logging.INFO 
logger1.setLevel(logLevel) 
formatter = logging.Formatter(' :: %(levelname)s :: %(message)s') 
fileHandler = os.path.join('/tmp/', 'error-logs.log') 
fh = logging.handlers.RotatingFileHandler(fileHandler, maxBytes=0, backupCount=0) 
fh.setLevel(logLevel) 
fh.setFormatter(formatter) 
logger1.addHandler(fh) 

Это, как я заполняю регистратор:

output = [] 
output.append(event['message']) 
logger1.info(' | '.join(output)) 

После заполнения файла с регистратором, я отправить почту как это:

for file in sorted(glob.glob(filehandler + '*'), key=os.path.getmtime): 
      body = open(file, 'r').read() 
      subject = objet+" %s" % (today.strftime("%Y-%m-%d")) 
      for email in emailarg.split(','): 
       response = ses.send_email(
          Source = email, 
          Destination={ 
           'ToAddresses': [ 
            email, 
           ], 
          }, 
          Message={ 
           'Subject': { 
            'Data': subject 
           }, 
           'Body': { 
            'Text': { 
             'Data': body 
            }, 
           } 
          } 
         ) 

      os.remove(file) 

У вас есть способ хорошо форматировать файл журнала (текст) с помощью HTML?

ответ

0

Я решил эту проблему:

  • ввода HTML-теги в списке вывода (с помощью таблицы тегов)
  • Использование HTML в качестве формата Послания для тела AWS SES, как это:
response = ses.send_email(
          Source = email, 
          Destination={ 
           'ToAddresses': [ 
            email, 
           ], 
          }, 
          Message={ 
           'Subject': { 
            'Data': subject 
           }, 
           'Body': { 
            'Html': { 
             'Data': body 
            }, 
           } 
          } 
        ) 
Смежные вопросы