From 3eb583f150b66b1bc847783a124939fb394ce9b0 Mon Sep 17 00:00:00 2001 From: Bae KwonHan Date: Sat, 31 May 2025 13:32:24 +0900 Subject: [PATCH] add logfire --- deploy_prod.sh | 8 ++++++++ pythonkr_backend/pythonkr_backend/settings/base.py | 8 ++++++++ .../pythonkr_backend/settings/localtesting.py | 7 ++++++- pythonkr_backend/pythonkr_backend/settings/prod.py | 13 ++++++++++++- 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/deploy_prod.sh b/deploy_prod.sh index dcc4ece..4e4cd25 100755 --- a/deploy_prod.sh +++ b/deploy_prod.sh @@ -4,7 +4,15 @@ PID_FILE="/home/pk/pk.pid" LOG_DIR="/home/pk/logs" cd ~/ +source .env cd python.or.kr + +# SHA 환경변수가 없으면 현재 git 커밋의 SHA 값을 가져와서 설정 +if [ -z "${SHA}" ]; then + export SHA=$(git rev-parse HEAD) + echo "SHA 환경변수가 없어서 현재 git SHA로 설정: ${SHA}" +fi + # shutdown exist gunicorn if [ -f ${PID_FILE} ]; then PID=$(cat $PID_FILE) diff --git a/pythonkr_backend/pythonkr_backend/settings/base.py b/pythonkr_backend/pythonkr_backend/settings/base.py index 829e83d..1217862 100644 --- a/pythonkr_backend/pythonkr_backend/settings/base.py +++ b/pythonkr_backend/pythonkr_backend/settings/base.py @@ -12,6 +12,7 @@ from pathlib import Path import os +import logfire # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent.parent @@ -170,3 +171,10 @@ BAKERY_VIEWS = ( "wagtailbakery.views.AllPublishedPagesView", ) + + + +# setup logfire + +logfire.configure(environment='base', service_name="web") +logfire.instrument_django() \ No newline at end of file diff --git a/pythonkr_backend/pythonkr_backend/settings/localtesting.py b/pythonkr_backend/pythonkr_backend/settings/localtesting.py index bb456aa..891f76f 100644 --- a/pythonkr_backend/pythonkr_backend/settings/localtesting.py +++ b/pythonkr_backend/pythonkr_backend/settings/localtesting.py @@ -1,5 +1,6 @@ from pathlib import Path import os +import logfire from .base import * @@ -25,4 +26,8 @@ # bakery BAKERY_MULTISITE = True -BUILD_DIR = os.path.join("/app/bakery_static", "build") \ No newline at end of file +BUILD_DIR = os.path.join("/app/bakery_static", "build") + +# setup logfire +logfire.configure(environment='localtest') +logfire.instrument_django() \ No newline at end of file diff --git a/pythonkr_backend/pythonkr_backend/settings/prod.py b/pythonkr_backend/pythonkr_backend/settings/prod.py index f38dfaa..7d20664 100644 --- a/pythonkr_backend/pythonkr_backend/settings/prod.py +++ b/pythonkr_backend/pythonkr_backend/settings/prod.py @@ -1,5 +1,6 @@ from pathlib import Path import os +import logfire from .base import * @@ -22,4 +23,14 @@ # bakery BAKERY_MULTISITE = True -BUILD_DIR = os.path.join("/home/pk/bakery_static", "build") \ No newline at end of file +BUILD_DIR = os.path.join("/home/pk/bakery_static", "build") + + +# service_version +sha_service_version = os.environ.get("SHA") + +# logfire settings +logfire.configure(environment='prod', service_name="web", service_version=sha_service_version) +logfire.instrument_system_metrics() +logfire.instrument_django() +logfire.instrument_psycopg('psycopg') \ No newline at end of file