Compare commits
4 commits
9d1de005d0
...
467f6a77ae
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
467f6a77ae | ||
|
|
41f36b0fd7 | ||
|
|
a481ae9526 | ||
|
|
ae5893c22f |
|
|
@ -12,6 +12,7 @@ license = "AGPL-3.0-only"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"flask",
|
"flask",
|
||||||
"gunicorn",
|
"gunicorn",
|
||||||
|
"structlog",
|
||||||
"pymongo",
|
"pymongo",
|
||||||
"scrypt",
|
"scrypt",
|
||||||
"pyjwt",
|
"pyjwt",
|
||||||
|
|
@ -29,3 +30,6 @@ packages = ["roc_fnb"]
|
||||||
[project.scripts]
|
[project.scripts]
|
||||||
# Put scripts here
|
# Put scripts here
|
||||||
bootstrap-first-admin = "roc_fnb.scripts.bootstrap_first_admin:bootstrap_first_admin"
|
bootstrap-first-admin = "roc_fnb.scripts.bootstrap_first_admin:bootstrap_first_admin"
|
||||||
|
|
||||||
|
[tool.yapf]
|
||||||
|
based_on_style = "facebook"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
from roc_fnb.util.logging import log
|
||||||
30
roc_fnb/util/logging.py
Normal file
30
roc_fnb/util/logging.py
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
import logging
|
||||||
|
from os import environ
|
||||||
|
|
||||||
|
from structlog.processors import JSONRenderer, TimeStamper
|
||||||
|
from structlog.dev import ConsoleRenderer
|
||||||
|
import structlog
|
||||||
|
|
||||||
|
if not structlog.is_configured():
|
||||||
|
if (env := environ.get('ENV_MODE')) and env == 'production':
|
||||||
|
timestamper = TimeStamper(fmt="%Y-%m-%d %H:%M:%S", utc=True)
|
||||||
|
renderer: JSONRenderer | ConsoleRenderer = JSONRenderer()
|
||||||
|
else:
|
||||||
|
timestamper = TimeStamper(fmt="%Y-%m-%d %H:%M:%S", utc=False)
|
||||||
|
renderer = ConsoleRenderer()
|
||||||
|
structlog.configure(
|
||||||
|
processors=[
|
||||||
|
structlog.contextvars.merge_contextvars,
|
||||||
|
structlog.processors.add_log_level,
|
||||||
|
structlog.processors.StackInfoRenderer(),
|
||||||
|
structlog.dev.set_exc_info,
|
||||||
|
timestamper,
|
||||||
|
renderer,
|
||||||
|
],
|
||||||
|
wrapper_class=structlog.make_filtering_bound_logger(logging.NOTSET),
|
||||||
|
context_class=dict,
|
||||||
|
logger_factory=structlog.PrintLoggerFactory(),
|
||||||
|
cache_logger_on_first_use=False
|
||||||
|
)
|
||||||
|
|
||||||
|
log = structlog.get_logger()
|
||||||
Loading…
Reference in a new issue