diff --git a/Dockerfile b/Dockerfile index 746da00..5a706c9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,7 +34,7 @@ ENV PYTHONPATH=/home/code/ PYTHONHASHSEED=0 COPY tests/ tests/ COPY app/ app/ COPY alembic/ alembic/ -COPY .env alembic.ini config.ini ./ +COPY .env alembic.ini ./ # create a non-root user and switch to it, for security. RUN addgroup --system --gid 1001 "app-user" diff --git a/compose.yml b/compose.yml index 7cddf72..3d37adf 100644 --- a/compose.yml +++ b/compose.yml @@ -7,7 +7,7 @@ services: - .secrets command: bash -c " uvicorn app.main:app - --log-config ./uvicorn-logging.json + --log-config ./logging-uvicorn.json --host 0.0.0.0 --port 8080 --lifespan=on --use-colors --loop uvloop --http httptools --reload --log-level debug diff --git a/granian-compose.yml b/granian-compose.yml index 4ef49b4..49b8efa 100644 --- a/granian-compose.yml +++ b/granian-compose.yml @@ -5,7 +5,7 @@ services: env_file: - .env - .secrets - command: granian --interface asgi --host 0.0.0.0 --port 8080 --loop uvloop app.main:app --log-level debug --log-config ./logging-config.json + command: granian --interface asgi --host 0.0.0.0 --port 8080 --loop uvloop app.main:app --access-log --log-level debug --log-config ./logging-granian.json volumes: - .:/home/code ports: diff --git a/logging-config.json b/logging-config.json deleted file mode 100644 index 5c52017..0000000 --- a/logging-config.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "version": 1, - "disable_existing_loggers": false, - "formatters": { - "generic": { - "()": "logging.Formatter", - "fmt": "[%(process)d|%(name)-12s] %(message)s", - "datefmt": "[%Y-%m-%d %H:%M:%S %z]" - }, - "access": { - "()": "logging.Formatter", - "fmt": "[%(process)d|%(name)-12s] %(message)s", - "datefmt": "[%Y-%m-%d %H:%M:%S %z]" - } - }, - "handlers": { - "console": { - "formatter": "generic", - "class": "logging.StreamHandler", - "stream": "ext://sys.stdout" - }, - "access": { - "formatter": "access", - "class": "logging.StreamHandler", - "stream": "ext://sys.stdout" - }, - "sqlalchemy": { - "class": "app.utils.logging.RichConsoleHandler", - "formatter": "generic" - } - }, - "loggers": { - "_granian": { - "handlers": [ - "console" - ], - "level": "INFO", - "propagate": false - }, - "granian.access": { - "handlers": [ - "access" - ], - "level": "INFO", - "propagate": false - }, - "sqlalchemy.engine.Engine": { - "handlers": [ - "sqlalchemy" - ], - "level": "ERROR", - "propagate": true, - "qualname": "sqlalchemy.engine.Engine" - } - } -} \ No newline at end of file diff --git a/logging-granian.json b/logging-granian.json new file mode 100644 index 0000000..dea9e6b --- /dev/null +++ b/logging-granian.json @@ -0,0 +1,70 @@ +{ + "version": 1, + "disable_existing_loggers": false, + "formatters": { + "default": { + "()": "logging.Formatter", + "fmt": "[%(process)d|%(name)-12s] %(message)s" + } + }, + "handlers": { + "access": { + "class": "app.utils.logging.RichConsoleHandler", + "omit_repeated_times": true, + "show_time": false, + "enable_link_path": false, + "tracebacks_show_locals": true, + "rich_tracebacks": true, + "formatter": "default", + "width": 140, + "style": "yellow" + }, + "sqlalchemy": { + "class": "app.utils.logging.RichConsoleHandler", + "omit_repeated_times": true, + "show_time": false, + "enable_link_path": false, + "tracebacks_show_locals": true, + "rich_tracebacks": true, + "formatter": "default", + "width": 140, + "style": "magenta" + }, + "stream": { + "class": "app.utils.logging.RichConsoleHandler", + "omit_repeated_times": true, + "show_time": false, + "enable_link_path": false, + "tracebacks_show_locals": true, + "rich_tracebacks": true, + "formatter": "default", + "width": 140, + "style": "white" + } + }, + "loggers": { + "_granian": { + "handlers": [ + "stream" + ], + "propagate": false, + "level": "DEBUG" + }, + "granian.access": { + "handlers": [ + "access" + ], + "propagate": false, + "level": "DEBUG", + "qualname": "granian.access" + }, + "sqlalchemy.engine.Engine": { + "handlers": [ + "sqlalchemy" + ], + "level": "ERROR", + "propagate": false, + "qualname": "sqlalchemy.engine.Engine" + } + } +} \ No newline at end of file diff --git a/uvicorn-logging.json b/logging-uvicorn.json similarity index 100% rename from uvicorn-logging.json rename to logging-uvicorn.json