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