feat: tracebackを使わずに、logger.exceptionを使うようにした。

traceback.print_exc()で取得しているものと、logger.exception()で取得しているものがどちらともsys.exc_infoなので、同じ動きをするはず。
This commit is contained in:
shimoda.m@nds-tyo.co.jp 2022-06-21 19:07:42 +09:00
parent 0021e8b2d7
commit 3cc6b93c22

View File

@ -6,7 +6,6 @@ import datetime
import logging
from abc import *
from zoneinfo import ZoneInfo
import traceback
# 環境変数
SECRET_KEY_FILE_BUCKET_NAME = os.environ["SECRET_KEY_FILE_BUCKET_NAME"]
@ -79,7 +78,7 @@ def handler(event, context):
s3_client.download_file(s3_event.bucket_name, s3_event.file_path, PATH_TEMP_ENCRYPT_FILE)
logger.info('I-03-02 PGP暗号化ファイルを読み込みました')
except Exception as e:
logger.error(f'E-03-01 PGP暗号化ファイルの読み込みに失敗しました エラー内容{e}')
logger.exception(f'E-03-01 PGP暗号化ファイルの読み込みに失敗しました エラー内容{e}')
raise EncryptFileReadException('E-03-01', EXTENSION_ERROR, e)
# ④ S3から秘密鍵ファイルを読み込む
@ -88,7 +87,7 @@ def handler(event, context):
s3_client.download_file(SECRET_KEY_FILE_BUCKET_NAME, SECRET_KEY_FILE_PATH, PATH_TEMP_PRIVATE_KEY)
logger.info('I-04-02 秘密鍵ファイルを読み込みました')
except Exception as e:
logger.error(f'E-04-01 秘密鍵ファイルの読み込みに失敗しました エラー内容:{e}')
logger.exception(f'E-04-01 秘密鍵ファイルの読み込みに失敗しました エラー内容:{e}')
raise FileReadException('E-04-01', EXTENSION_ERROR, e)
# ⑤ 「③」で読み込んだ秘密鍵ファイルをPGPライブラリにインポートを行う
@ -99,7 +98,7 @@ def handler(event, context):
gpg.import_keys(key_file.read())
logger.info('I-05-02 秘密鍵ファイルをインポートしました')
except Exception as e:
logger.error(f'E-05-01 秘密鍵ファイルのインポートに失敗しました エラー内容:{e}')
logger.exception(f'E-05-01 秘密鍵ファイルのインポートに失敗しました エラー内容:{e}')
raise PrivateKeyImportException('E-05-01', EXTENSION_ERROR, e)
# ⑥ 「④」で読み込んだPGP暗号化ファイルを「⑤」でインポートした秘密鍵ファイルで復号する
@ -110,7 +109,7 @@ def handler(event, context):
decrypt_file = open(PATH_TEMP_DECRYPT_FILE, 'rb')
logger.info('I-06-02 PGP暗号化ファイルを復号しました')
except Exception as e:
logger.error(f'E-06-01 PGP暗号化ファイルの復号化に失敗しました エラー内容{e}')
logger.exception(f'E-06-01 PGP暗号化ファイルの復号化に失敗しました エラー内容{e}')
raise DecryptException('E-06-01', EXTENSION_DECRYPT_ERROR, e)
# ⑦ 各ファイルをS3に出力する
@ -127,7 +126,7 @@ def handler(event, context):
decrypt_file.close
logger.info('I-07-03 復号化ファイルをS3に出力しました')
except Exception as e:
logger.error(f'E-07-01 復号化ファイルのS3出力に失敗しました エラー内容{e}')
logger.exception(f'E-07-01 復号化ファイルのS3出力に失敗しました エラー内容{e}')
raise FileOutputException('E-07-01', EXTENSION_ERROR, e)
# 「④」で読み込んだPGP暗号化ファイルを以下に移動コピー削除する
@ -143,7 +142,7 @@ def handler(event, context):
s3_client.delete_object(Bucket=s3_event.bucket_name, Key=s3_event.file_path)
logger.info('I-07-05 PGP暗号化ファイルをバックアップ用バケットに移動しました')
except Exception as e:
logger.error(f'E-07-02 PGP暗号化ファイルのS3出力に失敗しました エラー内容{e}')
logger.exception(f'E-07-02 PGP暗号化ファイルのS3出力に失敗しました エラー内容{e}')
raise FileOutputException('E-07-02', EXTENSION_ERROR, e)
# 「⑥」で復号化したファイルをデータ取込用バケットに出力する
try:
@ -158,22 +157,19 @@ def handler(event, context):
import_file_obj.copy(copy_source)
logger.info(f'I-07-07 復号化ファイルをS3に出力しました')
except Exception as e:
logger.error(f'E-07-03 復号化ファイルのS3出力に失敗しました エラー内容{e}')
logger.exception(f'E-07-03 復号化ファイルのS3出力に失敗しました エラー内容{e}')
raise FileOutputException('E-07-02', EXTENSION_ERROR, e)
# ⑧ 処理終了ログを出力する
logger.info('I-08-01 処理終了 SAPデータ復号処理')
except EncryptFileReadException as e:
traceback.print_exc()
create_status_file(s3_event, e.extension)
error_notice(e.id, e.arg)
except CustomException as e:
traceback.print_exc()
create_status_file(s3_event, e.extension)
move_encrypt_file(s3_event)
error_notice(e.id, e.arg)
except Exception as e:
logger.error(f'E-99 想定外のエラーが発生しました エラー内容:{e}')
traceback.print_exc()
logger.exception(f'E-99 想定外のエラーが発生しました エラー内容:{e}')
create_status_file(s3_event, EXTENSION_ERROR)
move_encrypt_file(s3_event)
error_notice('E-99', e)
@ -189,8 +185,7 @@ def create_status_file(s3_event, extension) -> None:
result_error_obj.put(Body='')
logger.error(f'E-ERR-01 recvディレクトリにエラーファイルを作成しました ファイル名{result_error_file_name} 出力先:{s3_event.bucket_name}/{result_error_key}')
except Exception as e:
logger.error(f'E-96 エラーステータスファイルの作成に失敗しました エラー内容:{e}')
traceback.print_exc()
logger.exception(f'E-96 エラーステータスファイルの作成に失敗しました エラー内容:{e}')
return
@ -208,8 +203,7 @@ def move_encrypt_file(s3_event) -> None:
s3_client.delete_object(Bucket=s3_event.bucket_name, Key=s3_event.file_path)
logger.error(f'E-ERR-02 recv_errorディレクトリにファイルを移動しました 移動元{s3_event.bucket_name}/{s3_event.file_path} 移動先:{s3_event.bucket_name}/{error_key}')
except Exception as e:
logger.error(f'E-97 PGP暗号化ファイルの移動に失敗しました エラー内容{e}')
traceback.print_exc()
logger.exception(f'E-97 PGP暗号化ファイルの移動に失敗しました エラー内容{e}')
return
@ -225,8 +219,7 @@ def error_notice(error_log_id, exception) -> None:
sns_client.publish(**params)
logger.error(f'E-ERR-03 処理異常通知の送信指示をしました 通知先トピック:{NDS_NOTICE_TOPIC}')
except Exception as e:
logger.error(f'E-98 処理異常通知の送信指示に失敗しました エラー内容:{e}')
traceback.print_exc()
logger.exception(f'E-98 処理異常通知の送信指示に失敗しました エラー内容:{e}')
return