mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2025-12-11 08:46:16 +00:00
64 lines
2.7 KiB
Markdown
64 lines
2.7 KiB
Markdown
# @openstapps/logger
|
|
|
|
[](https://gitlab.com/openstapps/logger/commits/master)
|
|
[](https://gitlab.com/openstapps/logger/commits/master)
|
|
|
|
This is a simple logger for TypeScript projects with transformations for the log output.
|
|
|
|
Logs are only printed if their log level is equal or higher than the defined log level.
|
|
|
|
## Log Levels
|
|
|
|
Available log levels are:
|
|
|
|
- 1 - INFO
|
|
- 2 - LOG
|
|
- 4 - WARN
|
|
- 8 - ERROR
|
|
- 16 - OK
|
|
|
|
You can set your log level with the environment variable `STAPPS_LOG_LEVEL`.
|
|
|
|
To select your desired log levels add the corresponding numbers and set the value of `STAPPS_LOG_LEVEL` to the sum.
|
|
|
|
For example `STAPPS_LOG_LEVEL=17` is 16 + 1 and would log everything that is `OK` or `INFO`.
|
|
|
|
If you want to use logger in production (`NODE_ENV=production`) and allow all transports to fail set `ALLOW_NO_TRANSPORT` to `true`.
|
|
|
|
Additionally setting the environment variable `STAPPS_EXIT_LEVEL` which works in the same manner as `STAPPS_LOG_LEVEL` will terminate your process after logging at the selected level(s) (usefull for integration tests). It will be ignored in afore mentioned productive environments.
|
|
|
|
## SMTP
|
|
|
|
This class also provides a simple implementation of an SMTP transport which can be used as a
|
|
`TransportWithVerification` for the logger. You can use this to transport errors of the logger or to transport mails
|
|
of your own monitoring solution.
|
|
|
|
### Usage
|
|
|
|
You can instatiate it with a config or it will check for a config in the environment variables. Environment variables
|
|
can overwrite the actual config values.
|
|
|
|
Environment variables are:
|
|
|
|
- SMTP_AUTH_USER: SMTP username
|
|
- SMTP_AUTH_PASSWORD: SMTP password
|
|
- SMTP_HOST: SMTP host
|
|
- SMTP_PORT: SMTP port
|
|
- SMTP_RECIPIENTS: comma seperated list of recipients
|
|
- SMTP_CC: comma seperated list of recipients for the carbon copy (CC)
|
|
- SMTP_SENDER_MAIL: sender of the mail
|
|
- SMTP_SENDER_NAME: name of the sender
|
|
- SMTP_SECURE: `true` to enable tls
|
|
|
|
## Transformations
|
|
|
|
By default the logger will only add the log level to the message. It will replace newlines with spaces and might skip some of your choosen Transformers when in production (`NODE_ENV=production`) for compatibility reasons with existing log aggregators and analyzers.
|
|
|
|
You can change this behavior by setting other Transformers via `Logger.setTransformations`. If you do so, mind the order of the transformers.
|
|
|
|
You may choose from the following:
|
|
|
|
- `AddLogLevel`, which prepends the output with the log level
|
|
- `Colorize`, which colorizes the output according to the log level
|
|
- `Timestamp`, which prepends a timestamp to the output
|