Browse Source

logger封装完成。

龚成明 2 năm trước cách đây
mục cha
commit
0106b6c07a
2 tập tin đã thay đổi với 46 bổ sung33 xóa
  1. 38 3
      kit/logger-kit.js
  2. 8 30
      libs/task.js

+ 38 - 3
kit/logger-kit.js

@@ -1,5 +1,40 @@
-const loggerKit = require('log4js').getLogger()
+const log4js = require('log4js')
 
-loggerKit.level = "debug";
+class LoggerKit {}
 
-module.exports = loggerKit
+LoggerKit.config = {
+  appenders: {
+    default: { type: 'console' }
+  },
+  categories: {
+    default: { appenders: ['default'], level: log4js.levels.TRACE }
+  }
+}
+
+LoggerKit.getLogger = function (categoryName) {
+  return log4js.getLogger(categoryName)
+}
+
+LoggerKit.pushAppender = function (appenderName, appender) {
+  LoggerKit.config.appenders[appenderName] = appender
+
+  LoggerKit.rebuild()
+
+  return log4js
+}
+
+LoggerKit.pushCategory = function (categoryName, category) {
+  LoggerKit.config.categories[categoryName] = category
+
+  LoggerKit.rebuild()
+
+  return log4js.getLogger(categoryName)
+}
+
+LoggerKit.rebuild = function () {
+  log4js.configure(LoggerKit.config)
+}
+
+LoggerKit.rebuild()
+
+module.exports = LoggerKit

+ 8 - 30
libs/task.js

@@ -1,3 +1,6 @@
+const LoggerKit = require('../kit/logger-kit')
+const log4js = require('log4js')
+
 class Task {
   context
   delayTime
@@ -17,42 +20,17 @@ class Task {
   }
 
   consoleLoggerInit() {
-    const log4js = require('log4js')
-
-    this.logger = log4js.getLogger(this.name)
+    this.logger = LoggerKit.getLogger(this.name)
   }
 
   fileLoggerInit(logFilePath) {
-    const log4js = require('log4js')
-
     const logFileCategoryName = this.name + 'FileLog'
+    const appender = { type: 'file', filename: logFilePath }
+    const category = { appenders: [logFileCategoryName], level: log4js.levels.TRACE }
 
-    const appenders = {}
-    appenders['default'] = {
-      type: 'console'
-    }
-    appenders[logFileCategoryName] = {
-      type: 'file',
-      filename: logFilePath
-    }
-    const categories = {}
-    categories['default'] = {
-      appenders: ['default'],
-      level: log4js.levels.TRACE
-    }
-    categories[logFileCategoryName] = {
-      appenders: [logFileCategoryName],
-      level: log4js.levels.TRACE
-    }
-
-    const config = {
-      appenders: appenders,
-      categories: categories
-    }
-    log4js.configure(config)
+    LoggerKit.pushAppender(logFileCategoryName, appender)
 
-    this.fileLogger = log4js.getLogger(logFileCategoryName)
-    this.fileLogger.level = log4js.levels.TRACE
+    this.fileLogger = LoggerKit.pushCategory(logFileCategoryName, category)
   }
 
   async Start() {