-// Create the directory if it does not exist
-// FIXME: use async
-mkdirpSync(CONFIG.STORAGE.LOG_DIR)
-
-function getLoggerReplacer () {
- const seen = new WeakSet()
-
- // Thanks: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Cyclic_object_value#Examples
- return (key: string, value: any) => {
- if (key === 'cert') return 'Replaced by the logger to avoid large log message'
-
- if (typeof value === 'object' && value !== null) {
- if (seen.has(value)) return
-
- seen.add(value)
- }
-
- if (value instanceof Set) {
- return Array.from(value)
- }
-
- if (value instanceof Map) {
- return Array.from(value.entries())
- }
-
- if (value instanceof Error) {
- const error = {}
-
- Object.getOwnPropertyNames(value).forEach(key => { error[key] = value[key] })
-
- return error
- }
-
- return value
- }
-}
-
-const consoleLoggerFormat = winston.format.printf(info => {
- const toOmit = [ 'label', 'timestamp', 'level', 'message', 'sql' ]
-
- const obj = omit(info, ...toOmit)
-
- let additionalInfos = JSON.stringify(obj, getLoggerReplacer(), 2)
+const consoleLoggerFormat = format.printf(info => {
+ let additionalInfos = JSON.stringify(getAdditionalInfo(info), removeCyclicValues(), 2)