mirror of
https://github.com/nttgin/BGPalerter.git
synced 2024-05-19 06:50:08 +00:00
improved log separation and log rotation
This commit is contained in:
57
logger.js
57
logger.js
@@ -1,13 +1,62 @@
|
||||
import winston from 'winston';
|
||||
require('winston-daily-rotate-file');
|
||||
|
||||
const { combine, timestamp, label, printf } = winston.format;
|
||||
|
||||
const environment = "dev"; // Get the real one later
|
||||
|
||||
const formatLine = printf(({ level, message, label, timestamp }) => {
|
||||
return `${timestamp} [${label}] ${level}: ${message}`;
|
||||
});
|
||||
|
||||
const verboseFilter = winston.format((info, opts) => {
|
||||
return info.level === 'verbose' ? info : false
|
||||
});
|
||||
|
||||
const transportError = new (winston.transports.DailyRotateFile)({
|
||||
filename: 'logs/error-%DATE%.log',
|
||||
datePattern: 'YYYY-MM-DD',
|
||||
zippedArchive: true,
|
||||
maxSize: '20m',
|
||||
maxFiles: '14d',
|
||||
level: 'error',
|
||||
timestamp: true,
|
||||
eol: '\n',
|
||||
json: false,
|
||||
format: combine(
|
||||
label({ label: environment}),
|
||||
timestamp(),
|
||||
formatLine
|
||||
)
|
||||
});
|
||||
|
||||
const transportReports = new (winston.transports.DailyRotateFile)({
|
||||
filename: 'logs/reports-%DATE%.log',
|
||||
datePattern: 'YYYY-MM-DD',
|
||||
zippedArchive: true,
|
||||
maxSize: '20m',
|
||||
maxFiles: '14d',
|
||||
level: 'verbose',
|
||||
timestamp: true,
|
||||
eol: '\n',
|
||||
json: false,
|
||||
format: combine(
|
||||
verboseFilter(),
|
||||
label({ label: environment}),
|
||||
timestamp(),
|
||||
formatLine
|
||||
)
|
||||
});
|
||||
|
||||
const logger = winston.createLogger({
|
||||
level: 'info',
|
||||
format: winston.format.json(),
|
||||
transports: [
|
||||
new winston.transports.File({ filename: 'logs/error.log', level: 'error' }),
|
||||
new winston.transports.File({ filename: 'logs/reports.log' })
|
||||
transportError,
|
||||
transportReports
|
||||
]
|
||||
});
|
||||
|
||||
logger.remove(logger.transports.Console);
|
||||
if (environment === 'prod') {
|
||||
logger.remove(logger.transports.Console);
|
||||
}
|
||||
module.exports = logger;
|
||||
|
||||
@@ -132,6 +132,7 @@ export default class Monitor {
|
||||
|
||||
this.pubSub.publish(this.channel, alert);
|
||||
|
||||
console.log(alert);
|
||||
logger.log({
|
||||
level: 'verbose',
|
||||
message: alert.message
|
||||
|
||||
@@ -20,7 +20,6 @@ export default class MonitorHijack extends Monitor {
|
||||
return alerts[0].message;
|
||||
};
|
||||
|
||||
|
||||
monitor = (message) => new Promise((resolve, reject) => {
|
||||
|
||||
const messagePrefix = message.prefix;
|
||||
|
||||
3779
package-lock.json
generated
3779
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -31,6 +31,7 @@
|
||||
"sleep": "^6.1.0",
|
||||
"websocket-stream": "^5.5.0",
|
||||
"winston": "^3.2.1",
|
||||
"winston-daily-rotate-file": "^3.9.0",
|
||||
"ws": "^7.0.0",
|
||||
"yarn": "^1.16.0"
|
||||
}
|
||||
|
||||
63
yarn.lock
63
yarn.lock
@@ -1035,6 +1035,11 @@ crypto-random-string@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
|
||||
integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=
|
||||
|
||||
cycle@~1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2"
|
||||
integrity sha1-IegLK+hYD5i0aPN5QwZisEbDStI=
|
||||
|
||||
debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
|
||||
version "2.6.9"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
|
||||
@@ -1272,6 +1277,13 @@ fecha@^2.3.3:
|
||||
resolved "https://registry.yarnpkg.com/fecha/-/fecha-2.3.3.tgz#948e74157df1a32fd1b12c3a3c3cdcb6ec9d96cd"
|
||||
integrity sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==
|
||||
|
||||
file-stream-rotator@^0.4.1:
|
||||
version "0.4.1"
|
||||
resolved "https://registry.yarnpkg.com/file-stream-rotator/-/file-stream-rotator-0.4.1.tgz#09f67b86d6ea589d20b7852c51c59de55d916d6d"
|
||||
integrity sha512-W3aa3QJEc8BS2MmdVpQiYLKHj3ijpto1gMDlsgCRSKfIUe6MwkcpODGPQ3vZfb0XvCeCqlu9CBQTN7oQri2TZQ==
|
||||
dependencies:
|
||||
moment "^2.11.2"
|
||||
|
||||
filename-regex@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
|
||||
@@ -1564,11 +1576,6 @@ ip2buf@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/ip2buf/-/ip2buf-2.0.0.tgz#289b94a8cc107be6a2fa9624e236b46c9ae6bd66"
|
||||
integrity sha512-ezW62UW6IPwpuS3mpsvOS3/3Jgx7aaNZT+uJo/+xVBxHCq7EA1ryuhzZw2MyC5GuGd1sAp3RDx7e4+nJCGt9vA==
|
||||
|
||||
ip@^1.1.5:
|
||||
version "1.1.5"
|
||||
resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
|
||||
integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
|
||||
|
||||
"ip@https://github.com/MaxCam/node-ip.git#contains-prefix":
|
||||
version "1.1.5"
|
||||
resolved "https://github.com/MaxCam/node-ip.git#f088d6611315deb914619c2c12f49f35cae4d0d5"
|
||||
@@ -1906,6 +1913,17 @@ lodash@^4.17.11, lodash@^4.17.4:
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
|
||||
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
|
||||
|
||||
logform@^1.6.0:
|
||||
version "1.10.0"
|
||||
resolved "https://registry.yarnpkg.com/logform/-/logform-1.10.0.tgz#c9d5598714c92b546e23f4e78147c40f1e02012e"
|
||||
integrity sha512-em5ojIhU18fIMOw/333mD+ZLE2fis0EzXl1ZwHx4iQzmpQi6odNiY/t+ITNr33JZhT9/KEaH+UPIipr6a9EjWg==
|
||||
dependencies:
|
||||
colors "^1.2.1"
|
||||
fast-safe-stringify "^2.0.4"
|
||||
fecha "^2.3.3"
|
||||
ms "^2.1.1"
|
||||
triple-beam "^1.2.0"
|
||||
|
||||
logform@^2.1.1:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/logform/-/logform-2.1.2.tgz#957155ebeb67a13164069825ce67ddb5bb2dd360"
|
||||
@@ -2051,6 +2069,11 @@ mkdirp@^0.5.0, mkdirp@^0.5.1:
|
||||
dependencies:
|
||||
minimist "0.0.8"
|
||||
|
||||
moment@^2.11.2:
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"
|
||||
integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==
|
||||
|
||||
ms@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
||||
@@ -2205,6 +2228,11 @@ object-copy@^0.1.0:
|
||||
define-property "^0.2.5"
|
||||
kind-of "^3.0.3"
|
||||
|
||||
object-hash@^1.3.0:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df"
|
||||
integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==
|
||||
|
||||
object-visit@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
|
||||
@@ -2561,7 +2589,7 @@ semver-diff@^2.0.0:
|
||||
dependencies:
|
||||
semver "^5.0.3"
|
||||
|
||||
semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.5.0:
|
||||
semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.5.0, semver@^5.6.0:
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
|
||||
integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==
|
||||
@@ -3014,7 +3042,28 @@ widest-line@^2.0.0:
|
||||
dependencies:
|
||||
string-width "^2.1.1"
|
||||
|
||||
winston-transport@^4.3.0:
|
||||
winston-compat@^0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/winston-compat/-/winston-compat-0.1.4.tgz#599b4ce807ffe728713ecc25ede3f6b89425b739"
|
||||
integrity sha512-mMEfFsSm6GmkFF+f4/0UJtG4N1vSaczGmXLVJYmS/+u2zUaIPcw2ZRuwUg2TvVBjswgiraN+vNnAG8z4fRUZ4w==
|
||||
dependencies:
|
||||
cycle "~1.0.3"
|
||||
logform "^1.6.0"
|
||||
triple-beam "^1.2.0"
|
||||
|
||||
winston-daily-rotate-file@^3.9.0:
|
||||
version "3.9.0"
|
||||
resolved "https://registry.yarnpkg.com/winston-daily-rotate-file/-/winston-daily-rotate-file-3.9.0.tgz#2a9f4f327761b0c096c0649c275945148dd4b6f7"
|
||||
integrity sha512-KicvoaLQapqjSDSCIUKik0dDb90vFkqx1/udUiAt6iOqAtBl2qBCrpSDNy3xp7WnT6xHCKAWEEp2XILtiN+zpQ==
|
||||
dependencies:
|
||||
file-stream-rotator "^0.4.1"
|
||||
object-hash "^1.3.0"
|
||||
semver "^5.6.0"
|
||||
triple-beam "^1.3.0"
|
||||
winston-compat "^0.1.4"
|
||||
winston-transport "^4.2.0"
|
||||
|
||||
winston-transport@^4.2.0, winston-transport@^4.3.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.3.0.tgz#df68c0c202482c448d9b47313c07304c2d7c2c66"
|
||||
integrity sha512-B2wPuwUi3vhzn/51Uukcao4dIduEiPOcOt9HJ3QeaXgkJ5Z7UwpBzxS4ZGNHtrxrUvTwemsQiSys0ihOf8Mp1A==
|
||||
|
||||
Reference in New Issue
Block a user