diff --git a/Dockerfile b/Dockerfile index a1264e5..7396a80 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,4 +5,4 @@ RUN apt-get update && apt-get install -y build-essential libmaxminddb0 libmaxmin RUN pip install --no-cache-dir -r app/requirements.txt COPY . /app ENV PYTHONUNBUFFERED=1 -CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"] +CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--log-config", "logging.yml"] diff --git a/docker-compose.yml b/docker-compose.yml index 709fe34..09b834c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,7 +4,7 @@ services: container_name: ip-geo-api restart: unless-stopped ports: - - "${HOST_PORT:-8080}:8000" + - "${PORT:-8080}:8000" healthcheck: test: [ diff --git a/logging.yml b/logging.yml new file mode 100644 index 0000000..2938415 --- /dev/null +++ b/logging.yml @@ -0,0 +1,37 @@ +version: 1 +disable_existing_loggers: False + +filters: + ignore_health: + (): logging.Filter + filter: > + lambda record: "/health" not in record.getMessage() + +formatters: + default: + format: '%(levelprefix)s %(client_addr)s - "%(request_line)s" %(status_code)s' + use_colors: true + +handlers: + access: + class: logging.StreamHandler + formatter: default + filters: [ignore_health] + + default: + class: logging.StreamHandler + formatter: default + +loggers: + uvicorn: + level: INFO + handlers: [default] + propagate: no + uvicorn.error: + level: INFO + handlers: [default] + propagate: no + uvicorn.access: + level: INFO + handlers: [access] + propagate: no