0

loggingコンソールに表示されるデータを 1 つずつ変数に保存したい(例外ごとに 1 つのエラーが発生し、新しい変数で変数を書き換える) ので、ユーザーのチャット (Pyrogram で) に送信できます。 )すべての新しいログで...次のようなもの:

try:
    func()
except Exception as e:
    errlog =  logging.debug("Error", exc_info=True)
    app.send.message(chat_id=1, text=errlog)

また、上記のコードを反復して試してみましたlogging.debug(これは、処理方法について何も知らないことを示しています!)...
独自のハンドラーを作成する必要があることはわかっていますが、その方法がわかりません (すべてのメッセージを送信します)。コンソールまたはローカル ファイルの外側で、定義されたレベルで1 つずつログに記録します)。このリンク(コードの下)を試しましたが、うまくいきませんでした...

except Exception as e:
    logger = logging.getLogger('basic_logger')
    logger.setLevel(logging.DEBUG)
    log_capture_string = io.StringIO()
    ch = logging.StreamHandler(log_capture_string)
    ch.setLevel(logging.DEBUG)
    formatter = logging.Formatter(" %(asctime)s  ⚠ #%(levelname)s   %(message)s",
    datefmt='%Y-%m-%d %H:%M:%S')
    ch.setFormatter(formatter)
    logger.addHandler(ch)
    logger.debug('DEBUG', exc_info=True)
    logger.info('INFO', exc_info=True)
    logger.warn('WARN', exc_info=True)
    logger.error('ERROR', exc_info=True)
    logger.critical('CRITICAL', exc_info=True)
    LogErr = log_capture_string.getvalue()
    app.send_message(chat_id=LogGpID, text=LogErr)

つまり、これらすべてのメッセージを変数として、コンソールに表示されたときにのtextパラメータに取得したいと考えています。 それを達成するために私は何をすべきですか?send_message...

4

0 に答える 0