diff --git a/game-server/app.ts b/game-server/app.ts index 6257ed0b3..b6be6f0db 100644 --- a/game-server/app.ts +++ b/game-server/app.ts @@ -25,7 +25,9 @@ import * as redLockService from './app/services/redLockService'; import _pinus = require('pinus'); import { updateTeamStatus } from './app/services/comBattleService'; import { init } from './app/pubUtils/gmData/gmDataUtil'; -import { resResult } from './app/pubUtils/util'; +import { resResult, genCode } from './app/pubUtils/util'; +import { errlogger, infologger } from './app/util/logger'; + const filePath = (_pinus as any).FILEPATH; filePath.MASTER = '/config/master'; filePath.SERVER = '/config/servers'; @@ -65,7 +67,7 @@ app.configure(function () { mongoose.connect(app.get('database').mongo, { useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false }, (err) => { if (err) { - console.log('mongodb connect err', err); + errlogger.error('mongodb connect err', err); } else { console.log('mongodb connect suc'); } @@ -149,20 +151,26 @@ app.configure(ALL_ENVS, 'systimer', function () { function errorHandler(err: Error, msg: any, resp: any, session: FrontendOrBackendSession, cb: HandlerCallback) { - console.error(`${pinus.app.serverId} error handler msg[${JSON.stringify(msg)}] ,resp[${JSON.stringify(resp)}] , - to resolve unknown exception: sessionId:${JSON.stringify(session.export())} , - error stack: ${err.stack}`); + const errCode = genCode(10); + errlogger.debug(`${pinus.app.serverId} error handler`); + errlogger.debug(`msg[${JSON.stringify(msg)}]`); + errlogger.debug(`resp[${JSON.stringify(resp)}]`); + errlogger.debug(`sessionId:${JSON.stringify(session.export())}`); + errlogger.error(`error *${errCode}* stack: ${err.stack}`); + if (!resp) { - resp = resResult(STATUS.GLOBAL_ERR); + resp = resResult(STATUS.GLOBAL_ERR, { errCode }); } cb(err, resp); } export function globalErrorHandler(err: Error, msg: any, resp: any, session: FrontendOrBackendSession, cb: HandlerCallback) { - console.error(`${pinus.app.serverId} globalErrorHandler msg[${JSON.stringify(msg)}] ,resp[${JSON.stringify(resp)}] , - to resolve unknown exception: sessionId:${JSON.stringify(session.export())} , - error stack: ${err.stack}`); + errlogger.debug(`${pinus.app.serverId} globalErrorHandler handler`); + errlogger.debug(`msg[${JSON.stringify(msg)}]`); + errlogger.debug(`resp[${JSON.stringify(resp)}]`); + errlogger.debug(`sessionId:${JSON.stringify(session.export())}`); + errlogger.error(`error stack: ${err.stack}`); if (cb) { @@ -175,10 +183,13 @@ app.configure(ALL_ENVS, function () { app.set(RESERVED.ERROR_HANDLER, errorHandler); app.set(RESERVED.GLOBAL_ERROR_HANDLER, globalErrorHandler); app.globalAfter((err: Error, routeRecord: RouteRecord, msg: any, session: FrontendOrBackendSession, resp: any, cb: HandlerCallback) => { - console.log('global after ', err, msg && msg.route, msg && JSON.stringify(msg.body), session && session.get('roleId')) + infologger.debug('global after ', msg && msg.route, msg && JSON.stringify(msg.body), session && session.get('roleId')); + if(err) infologger.debug(err); }) app.globalBefore((routeRecord: RouteRecord, msg: any, session: FrontendOrBackendSession, cb: HandlerCallback) => { + infologger.debug(JSON.stringify(routeRecord)) + infologger.debug('global before ', msg && msg.route, msg && JSON.stringify(msg.body), session && session.get('roleId')) if (msg.body === null) { cb(new Error(`msg body ===null maybe protobuf check error uid:${session.uid} ${JSON.stringify(msg)}`), { code: 499 }); return; diff --git a/game-server/app/util/logger.ts b/game-server/app/util/logger.ts new file mode 100644 index 000000000..03b882dd0 --- /dev/null +++ b/game-server/app/util/logger.ts @@ -0,0 +1,10 @@ +import { getLogger } from 'pinus-logger'; + +let logger = getLogger(); +let infologger = getLogger('info') +let errlogger = getLogger('err'); +export { + logger, + infologger, + errlogger +} \ No newline at end of file diff --git a/game-server/config/alpha/log4js.ts b/game-server/config/alpha/log4js.ts index 88878c40d..54072bf79 100644 --- a/game-server/config/alpha/log4js.ts +++ b/game-server/config/alpha/log4js.ts @@ -84,6 +84,24 @@ module.exports = { 'type': 'basic' }, 'backups': 5 + }, + 'app': { + 'type': 'file', + 'filename': '${opts:base}/../logs/app/app.log', + 'maxLogSize': 1048576, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'error': { + 'type': 'file', + 'filename': '${opts:base}/../logs/app/error.log', + 'maxLogSize': 1048576, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 } }, @@ -124,6 +142,18 @@ module.exports = { 'appenders': ['pinus-rpc'], 'level': 'debug' }, + 'pinus': { + 'appenders': ['console', 'pinus', 'app'], + 'level': 'debug' + }, + 'info': { + 'appenders': ['console', 'app'], + 'level': 'debug' + }, + 'err': { + 'appenders': ['console', 'error'], + 'level': 'debug' + } }, diff --git a/game-server/config/dev/log4js.ts b/game-server/config/dev/log4js.ts index 88878c40d..54072bf79 100644 --- a/game-server/config/dev/log4js.ts +++ b/game-server/config/dev/log4js.ts @@ -84,6 +84,24 @@ module.exports = { 'type': 'basic' }, 'backups': 5 + }, + 'app': { + 'type': 'file', + 'filename': '${opts:base}/../logs/app/app.log', + 'maxLogSize': 1048576, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'error': { + 'type': 'file', + 'filename': '${opts:base}/../logs/app/error.log', + 'maxLogSize': 1048576, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 } }, @@ -124,6 +142,18 @@ module.exports = { 'appenders': ['pinus-rpc'], 'level': 'debug' }, + 'pinus': { + 'appenders': ['console', 'pinus', 'app'], + 'level': 'debug' + }, + 'info': { + 'appenders': ['console', 'app'], + 'level': 'debug' + }, + 'err': { + 'appenders': ['console', 'error'], + 'level': 'debug' + } }, diff --git a/game-server/config/isbn/log4js.ts b/game-server/config/isbn/log4js.ts index 88878c40d..54072bf79 100644 --- a/game-server/config/isbn/log4js.ts +++ b/game-server/config/isbn/log4js.ts @@ -84,6 +84,24 @@ module.exports = { 'type': 'basic' }, 'backups': 5 + }, + 'app': { + 'type': 'file', + 'filename': '${opts:base}/../logs/app/app.log', + 'maxLogSize': 1048576, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'error': { + 'type': 'file', + 'filename': '${opts:base}/../logs/app/error.log', + 'maxLogSize': 1048576, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 } }, @@ -124,6 +142,18 @@ module.exports = { 'appenders': ['pinus-rpc'], 'level': 'debug' }, + 'pinus': { + 'appenders': ['console', 'pinus', 'app'], + 'level': 'debug' + }, + 'info': { + 'appenders': ['console', 'app'], + 'level': 'debug' + }, + 'err': { + 'appenders': ['console', 'error'], + 'level': 'debug' + } }, diff --git a/game-server/config/production/log4js.ts b/game-server/config/production/log4js.ts index 88878c40d..54072bf79 100644 --- a/game-server/config/production/log4js.ts +++ b/game-server/config/production/log4js.ts @@ -84,6 +84,24 @@ module.exports = { 'type': 'basic' }, 'backups': 5 + }, + 'app': { + 'type': 'file', + 'filename': '${opts:base}/../logs/app/app.log', + 'maxLogSize': 1048576, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'error': { + 'type': 'file', + 'filename': '${opts:base}/../logs/app/error.log', + 'maxLogSize': 1048576, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 } }, @@ -124,6 +142,18 @@ module.exports = { 'appenders': ['pinus-rpc'], 'level': 'debug' }, + 'pinus': { + 'appenders': ['console', 'pinus', 'app'], + 'level': 'debug' + }, + 'info': { + 'appenders': ['console', 'app'], + 'level': 'debug' + }, + 'err': { + 'appenders': ['console', 'error'], + 'level': 'debug' + } },