1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人開発 Habitica-外部連携 ログ設計

Last updated at Posted at 2025-04-19

ログ設計の目的

・障害発生時に発生原因や障害影響を対処しやすくするため
・障害発生時に発生原因や障害影響を調べるため(障害対応)
・監査対応時に業務状況を証明するため(監査対応)

インプットとなる成果物

「個人開発 Habitica-外部連携 概念設計」
4.ユースケース記述/自前で実装する機能/バッチ処理側

参照

成果物

API取得するまでの流れ

DBに書き込みの流れ

ログフォーマット

項目名 説明
日時 YYYYMMDDhhmmss メッセージの出力日時
レベル INFO もしくは WARN もしくは ERROR メッセージの分類
メッセージID 個別
メッセージ 個別

ログ出力先

task_collect_tool/src/batch/Habitica/task/log.txt

ログ出力タイミング

・処理が完了したとき
・処理の途中で例外処理が発生した時に発生する。

メッセージ分類

分類 エラーコード 備考
エラー Error 処理が中止される場合に出力される(例外)今回の場合はシステム上の例外のみ
警告 Warning
通知 Info 正常処理のメッセージ

ログメッセージ一覧

分類 エラーコード エラーメッセージ 備考
Error 28P01 データベースアクセスです。 PostgreSQLの標準エラーを利用
Warning 23505 主キー重複エラーです。 PostgreSQLの標準エラーを利用
Error 42P01 対象のテーブルが存在しません。 PostgreSQLの標準エラーを利用
Error 22XXX カラムに入る値と型が異なります。 PostgreSQLの標準エラーを利用
Error 08003 クエリタイムアウトエラーです。 PostgreSQLの標準エラーを利用
Error 001 ネットワークが繋がっていません。 HTTP403
Error 002 Habiticaのアクセスキーが違います。 HTTP401
Error 003 レスポンスの取得結果が1件もありません HTTP200
Error 004 レスポンスの形式があっていません。 HTTP200
Info 005 処理が完了しました。

クラス図

感想

例外設計とログ処理がごっちゃになってますね。
後日しっかりブラッシュアップします

各外部連携方法(ファイル、DB,API)の異常系処理を洗い出して、アクティビティ図にまとめておく良いと思いました。
(毎回明確な基準がないまま進めてるから、時間もかかるし漏れあるし)

参考書籍

ログフォーマット ログ出力先 

書籍:システム設計の謎を解く p253

ログ管理 運用

書籍:運用設計の教科書 4.6ログ管理

postgresqlのエラーについて

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?