summaryrefslogtreecommitdiff
path: root/source/logger.js
diff options
context:
space:
mode:
authorMhykol <mchaeldonald62@pm.me>2024-05-03 10:56:46 -0400
committerMhykol <mchaeldonald62@pm.me>2024-05-03 10:56:46 -0400
commit8c814d79235a38465ef46052cf9a523d555a29e7 (patch)
tree1c50d136015e3759aa6c9743282692ed9d0df390 /source/logger.js
Initial commit
Diffstat (limited to 'source/logger.js')
-rw-r--r--source/logger.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/source/logger.js b/source/logger.js
new file mode 100644
index 0000000..ed03c4b
--- /dev/null
+++ b/source/logger.js
@@ -0,0 +1,26 @@
+const winston = require('winston')
+const chalk = require('chalk')
+require('dotenv').config()
+
+// Hanles logging
+class Logger{
+ constructor() {
+ this.logger = winston.createLogger({
+ level: 'info',
+ format: winston.format.json(),
+ defaultMeta: {service: 'user-service'},
+ transports: [
+ new winston.transports.File({filename: 'error.log', level: 'error'}),
+ new winston.transports.File({filename: 'combined.log'})
+ ]
+ })
+
+ if (process.env.NODE_ENV !== 'prod') {this.logger.add(new winston.transports.Console({format: winston.format.simple()}))}
+ }
+
+ Error(x) {if (process.env.NODE_ENV !== 'prod') {console.error(chalk.red(x))} else {this.logger.error(x)}}
+ Info(x) {if (process.env.NODE_ENV !== 'prod') {console.log(chalk.yellow(x))} else {this.logger.info(x)}}
+}
+
+module.exports = () => {return new Logger()}
+