📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 1,041行目: | 1,041行目: | ||
<br> | <br> | ||
Webブラウザで http://localhost:3000 にアクセスして、Grafanaにログインする。<br> | Webブラウザで http://localhost:3000 にアクセスして、Grafanaにログインする。<br> | ||
デフォルトのログイン情報を以下に示す。<br> | |||
* ユーザ名 | |||
*: admin | |||
* パスワード | |||
*: admin | |||
<br> | <br> | ||
==== ログ管理 ==== | ==== ログ管理 ==== | ||
| 1,062行目: | 1,066行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
構造化ログの例を以下に示す。<br> | |||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
# logging_config.pyファイル | # logging_config.pyファイル | ||
| 1,080行目: | 1,084行目: | ||
'line': record.lineno | 'line': record.lineno | ||
} | } | ||
if hasattr(record, 'user_id'): | if hasattr(record, 'user_id'): | ||
log_data['user_id'] = record.user_id | log_data['user_id'] = record.user_id | ||
if record.exc_info: | if record.exc_info: | ||
log_data['exception'] = self.formatException(record.exc_info) | log_data['exception'] = self.formatException(record.exc_info) | ||
return json.dumps(log_data) | return json.dumps(log_data) | ||
| 1,093行目: | 1,097行目: | ||
logger = logging.getLogger(name) | logger = logging.getLogger(name) | ||
logger.setLevel(logging.INFO) | logger.setLevel(logging.INFO) | ||
handler = logging.FileHandler('/var/log/myapi/app.log') | handler = logging.FileHandler('/var/log/myapi/app.log') | ||
handler.setFormatter(JSONFormatter()) | handler.setFormatter(JSONFormatter()) | ||
logger.addHandler(handler) | logger.addHandler(handler) | ||
return logger | return logger | ||