スクリプト内からPythonコンソール出力を電子メールとして送信するための最良の方法は何ですか?

abhidoeslinux

複数のことを実行し、コンソールにログを出力するPythonスクリプトがあります。今のところ、ロギングメカニズムを使用していません(必要なメッセージを使用して印刷していますprint)すべての印刷物を取得して電子メールとして送信するにはどうすればよいですか?すべてを変数に保存してsmtplibに渡す必要がありますか?またはもっと良い方法はありますか?

サンプルコード

for job in fetch.getJobStats():
        if job['userName']+"_"+job['tenantId'] in summaryTotal:
            summary = summaryTotal[job['userName']+"_"+job['tenantId']]
        else:
            summary = Summary(job['userName'], job['tenantId'])
            summaryTotal[summary.user+"_"+summary.tenant] = summary

        summary.jobs.append(Job(job['jobId'], job['jobStatus'], int(job['fileSize'])))
        totalBw += int(job['fileSize'])

    print("Cumulative Size: " + str(totalBw))
    for summaryKey in summaryTotal.keys():
        summary = summaryTotal[summaryKey]

        inprogress = []
        failed = []
        completed = []
        cancelled = []
        totalBwTenantUser = 0

        for job in summary.jobs:
            totalBwTenantUser += job.filesize
            if job.status == "JOBCANCELLED":
                cancelled.append(job.id)
            elif job.status == "JOBCOMPLETED":
                completed.append(job.id)
            elif job.status == "INPROGRESS":
                completed.append(job.id)
            elif job.status == "JOBFAILED":
                completed.append(job.id)

        print("-" * 50)
        print("Tenant: " + summary.tenant)
        print("User  : " + summary.user)
        print("Size    : " + str(totalBwTenantUser))
        print("\n")
        print("INPROGRESS: " + str(inprogress))
        print("COMPLETED : " + str(completed))
        print("CANCELLED : " + str(cancelled))
        print("FAILED    : " + str(failed))
        print("-" * 50)

すべてのプリントは電子メールから削除する必要があります。

Burhan Khalid

Pythonに付属している優れたロギングシステム実際に使用する必要があります

それをmailingloggerハンドラーと組み合わせると、必要なものがすべて揃っています。

import logging

from mailinglogger.SummarisingLogger import SummarisingLogger

handler = SummarisingLogger('[email protected]',
                            ('[email protected]',),
                            subject='[LOGS] %s (hostname)s',
                            mailhost='smtp.example.com')

logging.basicConfig(format='%(asctime)s %(message)s',
                    datefmt='%m/%d/%Y %I:%M:%S %p',
                    level=logging.INFO)
logger = logging.getLogger()
logger.addHandler(handler)

logging.info('Sent by email.')

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

春-AMQPと、PublisherReturnコールバック内からのRabbitMQにメッセージを送信するための最良の方法は何ですか?

分類Dev

PHPスクリプトの結果から電子メールを送信する最良の方法

分類Dev

Blazor:メインページのスクリプトとスタイルを含めるための最良の方法は何ですか?

分類Dev

Outlookから電子メールのコレクションを転送するための最良の方法

分類Dev

コマンドラインから実行するときに、スクリプトでbash関数をパラメーターとして作成するための最良の方法は何ですか?

分類Dev

スキャナーを使用してコンソールから番号を読み取るための最良の方法は何ですか?

分類Dev

javascriptを使用して要素のリストを分類/グループ化およびソートするための最良の方法は何ですか?

分類Dev

2つの変数からの出力で電子メールを送信するbashスクリプトを作成しようとしていますubuntu 18.04

分類Dev

返信で引用された元の電子メールメッセージを送信するための最良の方法は何ですか?

分類Dev

これらのifステートメントをクリーンアップするための最良の方法は何でしょうか?

分類Dev

PHPで顧客にメールを送信するために使用される電子メールアカウントデータを保存するための最良の方法は何ですか?

分類Dev

このSQLクエリをElequentステートメントとして作成するための最良の方法は何ですか

分類Dev

このSQLクエリをElequentステートメントとして作成するための最良の方法は何ですか

分類Dev

反応アプリでドキュメントのスクロール率を取得するための最良の方法は何ですか?

分類Dev

ソフトウェアがインストールされているかどうかを(スクリプトから)検出するための最良の方法は何ですか?

分類Dev

スクリプトを使用してmboxファイルから選択した電子メールメッセージを削除するための最良の方法

分類Dev

関連するグループからデータをエクスポートするための最良のSQLクエリ方法は何ですか?

分類Dev

Unicodeをコンソールに出力する最良の方法は何ですか?

分類Dev

リソースコントローラー内で複数のサービスを使用するための最良のアプローチは何ですか?

分類Dev

追加の受信トレイから電子メールからプログラムでテキストを抽出するための最良の方法は何ですか?

分類Dev

PowerShellでコンソール出力を統合し、HTML形式の電子メールとして送信するにはどうすればよいですか

分類Dev

UIAutomatorテストでリソース識別子を参照するための最良の方法は何ですか?

分類Dev

春のブートアプリケーションでタスクをスケジュールするための最良の方法は何ですか

分類Dev

毎日のSQLクエリを実行して結果を電子メールで送信するための最良のアプローチ

分類Dev

コンソールアプリをAzureトリガーに変換する最良の方法は何ですか

分類Dev

私のlaravelプロジェクトが「パスワードを忘れた」メールを送信するための最良の解決策は何ですか?

分類Dev

インストール/アップグレードスクリプトを検証するための最良の方法は何ですか?

分類Dev

Outlook 365APIを使用して組織内で電子メールを取得するための最良の方法

分類Dev

Angular 6とFirestore:AFSコレクション内の各ドキュメントをループして更新するための最良の方法は?

Related 関連記事

  1. 1

    春-AMQPと、PublisherReturnコールバック内からのRabbitMQにメッセージを送信するための最良の方法は何ですか?

  2. 2

    PHPスクリプトの結果から電子メールを送信する最良の方法

  3. 3

    Blazor:メインページのスクリプトとスタイルを含めるための最良の方法は何ですか?

  4. 4

    Outlookから電子メールのコレクションを転送するための最良の方法

  5. 5

    コマンドラインから実行するときに、スクリプトでbash関数をパラメーターとして作成するための最良の方法は何ですか?

  6. 6

    スキャナーを使用してコンソールから番号を読み取るための最良の方法は何ですか?

  7. 7

    javascriptを使用して要素のリストを分類/グループ化およびソートするための最良の方法は何ですか?

  8. 8

    2つの変数からの出力で電子メールを送信するbashスクリプトを作成しようとしていますubuntu 18.04

  9. 9

    返信で引用された元の電子メールメッセージを送信するための最良の方法は何ですか?

  10. 10

    これらのifステートメントをクリーンアップするための最良の方法は何でしょうか?

  11. 11

    PHPで顧客にメールを送信するために使用される電子メールアカウントデータを保存するための最良の方法は何ですか?

  12. 12

    このSQLクエリをElequentステートメントとして作成するための最良の方法は何ですか

  13. 13

    このSQLクエリをElequentステートメントとして作成するための最良の方法は何ですか

  14. 14

    反応アプリでドキュメントのスクロール率を取得するための最良の方法は何ですか?

  15. 15

    ソフトウェアがインストールされているかどうかを(スクリプトから)検出するための最良の方法は何ですか?

  16. 16

    スクリプトを使用してmboxファイルから選択した電子メールメッセージを削除するための最良の方法

  17. 17

    関連するグループからデータをエクスポートするための最良のSQLクエリ方法は何ですか?

  18. 18

    Unicodeをコンソールに出力する最良の方法は何ですか?

  19. 19

    リソースコントローラー内で複数のサービスを使用するための最良のアプローチは何ですか?

  20. 20

    追加の受信トレイから電子メールからプログラムでテキストを抽出するための最良の方法は何ですか?

  21. 21

    PowerShellでコンソール出力を統合し、HTML形式の電子メールとして送信するにはどうすればよいですか

  22. 22

    UIAutomatorテストでリソース識別子を参照するための最良の方法は何ですか?

  23. 23

    春のブートアプリケーションでタスクをスケジュールするための最良の方法は何ですか

  24. 24

    毎日のSQLクエリを実行して結果を電子メールで送信するための最良のアプローチ

  25. 25

    コンソールアプリをAzureトリガーに変換する最良の方法は何ですか

  26. 26

    私のlaravelプロジェクトが「パスワードを忘れた」メールを送信するための最良の解決策は何ですか?

  27. 27

    インストール/アップグレードスクリプトを検証するための最良の方法は何ですか?

  28. 28

    Outlook 365APIを使用して組織内で電子メールを取得するための最良の方法

  29. 29

    Angular 6とFirestore:AFSコレクション内の各ドキュメントをループして更新するための最良の方法は?

ホットタグ

アーカイブ