logzilla
Version:
Node.js Logging Adapter for Devebot
155 lines (154 loc) • 4.02 kB
JavaScript
;
const logzillaLevels = {
levels: {
debug: 4,
info: 3,
trace: 2,
warn: 1,
error: 0
},
colors: {
debug: 'blue',
info: 'green',
trace: 'yellow',
warn: 'cyan',
error: 'red'
}
};
const level_enum = Object.keys(logzillaLevels.levels);
let defaultLogLevel = level_enum[0];
if (process.env.NODE_ENV && process.env.NODE_ENV == 'production') {
defaultLogLevel = level_enum[Math.floor((level_enum.length - 1) / 2)];
}
const logzillaSchema = {
"type": "object",
"properties": {
"logger": {
"type": "object",
"properties": {
"transports": {
"type": "array",
"items": {
"oneOf": [{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["console"]
},
"level": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"name": {
"type": "string"
},
"json": {
"type": "boolean"
},
"colorize": {
"type": "boolean"
},
"timestamp": {
"type": "boolean"
}
},
"required": ["type"]
}, {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["http"]
},
"level": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"host": {
"type": "string"
},
"port": {
"type": "integer"
},
"auth": {
"type": "object"
},
"ssl": {
"type": "boolean"
}
},
"required": ["type"]
}, {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["file"]
},
"level": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"json": {
"type": "boolean"
},
"colorize": {
"type": "boolean"
},
"timestamp": {
"type": "boolean"
}
},
"required": ["type"]
}, {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["dailyRotateFile"]
},
"level": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"json": {
"type": "boolean",
"default": false
},
"colorize": {
"type": "boolean"
},
"timestamp": {
"type": "boolean"
},
"datePattern": {
"type": "string",
"description": "Example: yyyy-MM-ddTHH"
},
"filename": {
"type": "string",
"description": "Example: dailyfile.log"
}
},
"required": ["type", "filename", "datePattern"]
}]
}
}
}
}
}
};
module.exports = {
argumentSchema: logzillaSchema,
levelDefs: logzillaLevels,
defaultLevel: defaultLogLevel
};