HJ_Server/src/gameLog.ts
2023-12-15 14:41:10 +08:00

46 lines
1.3 KiB
TypeScript

import { Db, MongoClient } from "mongodb";
let logDB:Db;
async function connGameLogDB() {
console.log('connect gamelog mongodb ......');
let logDBUrl:string;
if(G.config.isG123){
logDBUrl = "mongodb://root:lffu2bD%5eGn2%5eE%2bE7@blacklagoon-mongo-log-primary.pro.g123-cpp.com:3717,blacklagoon-mongo-log-secondary.pro.g123-cpp.com:3717?replicaSet=mgset-351742307";
}else{
logDBUrl = "mongodb://root:lyMaple525458@10.0.1.20:27017/heijiao_gamelog?authSource=admin";
}
let client = await MongoClient.connect(logDBUrl,{
maxPoolSize:10,
maxIdleTimeMS: 5*60*1000
});
logDB = client.db(`gameLog${G.config.serverId}`);
return logDB;
}
/**
* 增加游戏日志
* @param uid 玩家uid
* @param type 日志类型
* @param req 客户端请求数据
* @param data 日志内容
*/
export async function addGameLog(uid:string, type:string, req:any, data:any){
try{
if(!logDB){
await connGameLogDB();
}
let log = {
uid,
type,
req,
data
}
//事件时间
log['cTime'] = Math.floor(Date.now()/1000);
logDB.collection('gameLog').insertOne(log);
}catch(e){
console.error('addGameLog',e);
}
}