logging-hj3415 README
logging-hj3415는 loguru 기반 공통 로깅 라이브러리입니다.
애플리케이션 시작 시 로깅을 한 번 설정하고(setup_logging), 이후 모든 모듈에서 동일한 logger를 사용하도록 만드는 목적의 패키지입니다.
pyproject.toml 기준 정보:
- 패키지명:
logging-hj3415 - 버전:
1.0.4 - Python:
>=3.11 - 빌드 백엔드:
flit_core - 의존성:
loguru>=0.7
1. 프로젝트의 기능 설명
이 패키지가 제공하는 핵심 기능은 4가지입니다.
setup_logging(...): 콘솔/파일 sink를 한 번만 초기화logger: 어디서나 바로 import 해서 사용하는 공용 loggerreset_logging(...),current_log_level(): 런타임 로그레벨 제어to_pretty_json(...): dict, pydantic, dataclass 등을 보기 좋은 JSON 문자열로 변환
권장 패턴:
- 앱 진입점(
main.py,cli/app.py)에서setup_logging()1회 호출 - 서비스/도메인/어댑터 레이어에서는
from logging_hj3415 import logger만 사용
2. 프로젝트 구조 설명
logging-hj3415/
├─ pyproject.toml
└─ src/logging_hj3415/
├─ __init__.py # 외부 공개 API(logger, setup_logging 등)
├─ _setup.py # 로깅 설정/재설정 구현
├─ pretty.py # pretty JSON 유틸리티
└─ py.typed # typing 지원 표시
각 파일 역할:
__init__.py: 패키지 사용자가 import 하는 진입점_setup.py:LOG_LEVEL,LOG_FILE반영 및 sink 구성pretty.py: 로깅/디버깅용 JSON 문자열 포맷 변환
3. 다른 프로젝트에서 임포트해서 사용하는 예시
설치:
python -m pip install logging-hj3415
애플리케이션 진입점 예시:
from logging_hj3415 import setup_logging, logger
setup_logging() # 앱 시작 시 1회
logger.info("애플리케이션 시작")
파일 로그 포함 예시:
from logging_hj3415 import setup_logging, logger
setup_logging(level="INFO", log_file="logs/app.log")
logger.warning("파일 로그도 함께 기록됩니다.")
다른 모듈에서 재사용:
from logging_hj3415 import logger
def run_job() -> None:
logger.info("배치 작업 시작")
to_pretty_json 예시:
from logging_hj3415 import logger, to_pretty_json
payload = {"code": "005930", "result": {"ok": True}}
logger.info("result=\n{}", to_pretty_json(payload))
4. 환경변수 설정 예시
_setup.py에서 읽는 환경변수:
LOG_LEVEL: 로그 레벨 (DEBUG,INFO,WARNING,ERROR등)LOG_FILE: 파일 로그 경로 (선택)
예시:
LOG_LEVEL=DEBUG
LOG_FILE=logs/app.log
동작 우선순위:
- 환경변수(
LOG_LEVEL,LOG_FILE) setup_logging(level=..., log_file=...)인자- 기본값(
INFO, 파일 출력 없음)
Metadata
Release files for logging-hj3415 1.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| logging_hj3415-1.0.6.tar.gz | 5.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| logging_hj3415-1.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.9 kB
Release files / logging_hj3415-1.0.6.tar.gz
| Download URL | logging_hj3415-1.0.6.tar.gz |
|---|---|
| Size | 5.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
074fa2294a63cdee8b82d65b37fc19dfb025dbe7e8ade77843b6918744498dd3
|
|
BLAKE2b-256 checksum How to use checksums |
60bfaf41bdc2a569808e5628902a1a2d9c06d8113a2fcdca8df67c4ce296b58f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.32.5
|
Release files / logging_hj3415-1.0.6-py3-none-any.whl
| Download URL | logging_hj3415-1.0.6-py3-none-any.whl |
|---|---|
| Size | 5.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2a58142cf8a3847b026ba929527af9e2dde4143a53e705e80f75f9db1f7c91a2
|
|
BLAKE2b-256 checksum How to use checksums |
e8130e5bcbb2adfb5c938d3200d57d296c0527252cb6f04eb78e2c4b324cb7ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.32.5
|