The express.js image serving the Angular Universal Server-Side Rendering can be provisioned to log extended information to the console by supplying the environment variable LOGGING=true
.
Information logged to the console includes the following:
-
Requests to the SSR process are logged with morgan (see configuration in server.ts) in the form of:
<method> <url> <status> <bytes> - <duration> ms
-
Requests handled by the SSR process are logged at the beginning with
SSR <url>
and at the end withRES <status> <url>
. -
Further the redirect actions of the Hybrid Approach are logged with
RED <url>
. -
Uncaught
Error
objects thrown in the SSR process, includingHttpErrorResponse
and runtime errors, are printed as well.
The NGINX image providing multi-channel configuration uses the default logging capabilities of nginx.
You can enable json
formatted logging by passing the environment variable LOGFORMAT=json
to the container.
If no LOGFORMAT
variable is passed, the container uses main
as its default format.
Additionally, the environment variable DEBUG=true
provides even more debugging output in the NGINX logs.
Within PWA development systems, information from the SSR and NGINX containers can be stored in external log files for analysis purposes. When launching your PWA as a Docker image/container, you can copy the log information from the containers which can be stored in the local file system using Docker volumes. Enabled volumes allow you to write SSR and NGINX logs in local Unix/Windows directories.
The path is composed as follows:
d:/pwa/logs
- The local Windows/Unix directory of the development machine where the logs should be stored./var/log/
- The log location in the SSR/NGINX container.
To enable logging to volumes, copy the examples below to the according docker-compose.yml
sections.
volumes:
- d:/pwa/logs:/.pm2/logs/
volumes:
- d:/pwa/logs:/var/log/