...
- to check if the code is working as intended by using information/warning/error messages at appropriate places in the code. You do not need to worry about removing these messages later on. Just ensure that when you create such messages you are using the appropriate log level (log levels are explained in appropriate detail in RFC5424, PS: Wikipedia link or RFC5424 link).
- to provide opportunity for other developers to have a standardised record of warnings/errors etc. that he/she can then share with appropriate developer(s) or with the team for analysis and resolution. This is possible by sharing the log file (and mentioning timestamp if necessary).
- to record errors generated on stable platform where no one is actually looking at the console messages. If errors are important/serious in nature, the historical record of log files can be used for analysis and resolution (IMPORTANT: Pls read comments at the end of this document).
To use the custom logger built in SWIK-835, developers should import the following in their respective code blocks (not in react components but can be used in Flux actions, platform services, routes etc). Please ensure that you are providing correct path inside require.
...
- For configuration: ./configs/log.js
- For production configuration copy code from ./configs/log_prod_sample.js to ./configs/log.js . This should be done in travis and docker configuration.
- Propagation of log message from developer's code to appropriate transport: ./actions/log/clog.js and ./services/logservice.js
- Log directory: ./logs (IMPORTANT: Pls read comments at the end of this document)
- NPM package: Winston and winston-daily-rotate-file