Skip to content

Commit 802d54d

Browse files
committed
file logger config
1 parent fbf43ee commit 802d54d

File tree

1 file changed

+28
-0
lines changed
  • src/pkgmt/assets/template/src/package_name

1 file changed

+28
-0
lines changed

src/pkgmt/assets/template/src/package_name/log.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
import logging
1616
from typing import Any, TextIO
1717
import os
18+
from pathlib import Path
19+
1820

1921
import structlog
2022
from structlog import WriteLogger, PrintLogger
@@ -71,6 +73,32 @@ def configure_file_and_print_logger(file_path: str = "app.log") -> None:
7173
)
7274

7375

76+
def configure_file_logger(file_path: str = "app.log") -> None:
77+
structlog.configure(
78+
processors=[
79+
structlog.contextvars.merge_contextvars,
80+
structlog.processors.add_log_level,
81+
structlog.processors.StackInfoRenderer(),
82+
structlog.dev.set_exc_info,
83+
structlog.processors.CallsiteParameterAdder(
84+
[
85+
structlog.processors.CallsiteParameter.FILENAME,
86+
structlog.processors.CallsiteParameter.FUNC_NAME,
87+
structlog.processors.CallsiteParameter.LINENO,
88+
],
89+
),
90+
structlog.processors.TimeStamper(fmt="%Y-%m-%d %H:%M:%S", utc=False),
91+
structlog.processors.JSONRenderer(),
92+
],
93+
wrapper_class=structlog.make_filtering_bound_logger(logging.NOTSET),
94+
context_class=dict,
95+
logger_factory=structlog.WriteLoggerFactory(
96+
file=Path("app").with_suffix(".log").open("wt")
97+
),
98+
cache_logger_on_first_use=False,
99+
)
100+
101+
74102
def configure_print_logger() -> None:
75103
structlog.configure(
76104
processors=[

0 commit comments

Comments
 (0)