Skip to content

Commit 99f7b98

Browse files
committed
initialize logger in config before anything else
1 parent 538dc4f commit 99f7b98

File tree

3 files changed

+25
-22
lines changed

3 files changed

+25
-22
lines changed

.github/workflows/ci-pipeline.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ jobs:
110110
- name: Run embed job
111111
run: |
112112
docker run --rm --network host \
113+
-e LOG_LEVEL=debug \
113114
-e DB_TYPE=${{ matrix.db }} \
114115
test-image:${{ needs.build.outputs.image_tag }}
115116

config.py

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import json
2+
import logging
23
import os
34
from dataclasses import dataclass
45
from typing import Dict, List
@@ -97,13 +98,28 @@ def load() -> "Config":
9798
load_dotenv()
9899
get = Config._get_required_env_var
99100

101+
# Initialize logger
102+
log_level_name = get("LOG_LEVEL").lower()
103+
log_levels = {
104+
"debug": 10,
105+
"info": 20,
106+
"warning": 30,
107+
"error": 40,
108+
"critical": 50,
109+
}
110+
if log_level_name not in log_levels:
111+
raise ValueError(
112+
f"Invalid LOG_LEVEL: '{log_level_name}'. Must be one of: {', '.join(log_levels)}"
113+
)
114+
log_level = log_levels[log_level_name]
115+
logging.basicConfig(level=log_level)
116+
logger = logging.getLogger(__name__)
117+
logger.debug("Logging initialized at level: %s", log_level_name.upper())
118+
119+
# Initialize db
100120
db_type = get("DB_TYPE")
101121
db_provider = Config._init_db_provider(db_type)
102122

103-
chunk_size = int(get("CHUNK_SIZE"))
104-
chunk_overlap = int(get("CHUNK_OVERLAP"))
105-
temp_dir = get("TEMP_DIR")
106-
107123
# Web URLs
108124
web_sources_raw = get("WEB_SOURCES")
109125
try:
@@ -118,20 +134,10 @@ def load() -> "Config":
118134
except json.JSONDecodeError as e:
119135
raise ValueError(f"Invalid REPO_SOURCES JSON: {e}") from e
120136

121-
# Logging
122-
log_level_name = get("LOG_LEVEL").lower()
123-
log_levels = {
124-
"debug": 10,
125-
"info": 20,
126-
"warning": 30,
127-
"error": 40,
128-
"critical": 50,
129-
}
130-
if log_level_name not in log_levels:
131-
raise ValueError(
132-
f"Invalid LOG_LEVEL: '{log_level_name}'. Must be one of: {', '.join(log_levels)}"
133-
)
134-
log_level = log_levels[log_level_name]
137+
# Misc
138+
chunk_size = int(get("CHUNK_SIZE"))
139+
chunk_overlap = int(get("CHUNK_OVERLAP"))
140+
temp_dir = get("TEMP_DIR")
135141

136142
return Config(
137143
db_provider=db_provider,

embed_documents.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,7 @@
1111
from loaders.pdf import PDFLoader
1212
from loaders.web import WebLoader
1313

14-
# Load configuration
1514
config = Config.load()
16-
17-
# Set up logging
18-
logging.basicConfig(level=config.log_level)
1915
logger = logging.getLogger(__name__)
2016

2117

0 commit comments

Comments
 (0)