mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2026-02-12 16:00:27 +00:00
fix: 整理日志、添加颜色、使用统一的日志函数以提高日志可读性
This commit is contained in:
@@ -9,6 +9,7 @@ import {
|
||||
} from '@/core/entities';
|
||||
import { dbUtil } from '@/common/utils/db';
|
||||
import { NTQQFileApi, NTQQFileCacheApi } from '@/core/apis/file';
|
||||
import { logError } from '@/common/utils/log';
|
||||
|
||||
export default class CleanCache extends BaseAction<void, void> {
|
||||
actionName = ActionName.CleanCache;
|
||||
@@ -62,7 +63,7 @@ export default class CleanCache extends BaseAction<void, void> {
|
||||
await NTQQFileCacheApi.clearChatCache(chatCacheList, cacheFileList);
|
||||
res();
|
||||
} catch(e) {
|
||||
console.error('清理缓存时发生了错误');
|
||||
logError('清理缓存时发生了错误');
|
||||
rej(e);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -3,19 +3,23 @@ import { log } from '@/common/utils/log';
|
||||
import { getGroup, getGroupMember, selfInfo } from '@/core/data';
|
||||
import exp from 'constants';
|
||||
import { Group } from '@/core';
|
||||
import chalk from 'chalk';
|
||||
|
||||
const spSegColor = chalk.blue;// for special segment
|
||||
const spColor = chalk.cyan;// for special
|
||||
|
||||
// todo: 应该放到core去用RawMessage解析打印
|
||||
export async function logMessage(ob11Message: OB11Message){
|
||||
export async function logMessage(ob11Message: OB11Message) {
|
||||
const isSelfSent = ob11Message.sender.user_id.toString() === selfInfo.uin;
|
||||
let prefix = '';
|
||||
let group: Group | undefined;
|
||||
if (isSelfSent){
|
||||
if (isSelfSent) {
|
||||
prefix = '发送消息 ';
|
||||
if (ob11Message.message_type === 'private'){
|
||||
if (ob11Message.message_type === 'private') {
|
||||
prefix += '给私聊 ';
|
||||
prefix += `${ob11Message.target_id}`;
|
||||
}
|
||||
else{
|
||||
else {
|
||||
prefix += '给群聊 ';
|
||||
}
|
||||
}
|
||||
@@ -25,57 +29,60 @@ export async function logMessage(ob11Message: OB11Message){
|
||||
}
|
||||
let msgChain = '';
|
||||
if (Array.isArray(ob11Message.message)) {
|
||||
const msgParts = [];
|
||||
for (const segment of ob11Message.message) {
|
||||
if (segment.type === 'text') {
|
||||
msgChain += segment.data.text + '\n';
|
||||
msgParts.push(segment.data.text);
|
||||
}
|
||||
else if (segment.type === 'at') {
|
||||
const groupMember = await getGroupMember(ob11Message.group_id!, segment.data.qq!);
|
||||
msgChain += `@${groupMember?.cardName || groupMember?.nick}(${segment.data.qq}) `;
|
||||
msgParts.push(spSegColor(`[@${groupMember?.cardName || groupMember?.nick}(${segment.data.qq})]`));
|
||||
}
|
||||
else if (segment.type === 'reply') {
|
||||
msgChain += `回复消息(id:${segment.data.id}) `;
|
||||
msgParts.push(spSegColor(`[回复消息|id:${segment.data.id}]`));
|
||||
}
|
||||
else if (segment.type === 'image') {
|
||||
msgChain += `\n[图片]${segment.data.url}\n`;
|
||||
msgParts.push(spSegColor(`[图片|${segment.data.url}]`));
|
||||
}
|
||||
else if (segment.type === 'face'){
|
||||
msgChain += `[表情](id:${segment.data.id}) `;
|
||||
else if (segment.type === 'face') {
|
||||
msgParts.push(spSegColor(`[表情|id:${segment.data.id}]`));
|
||||
}
|
||||
else if (segment.type === 'mface'){
|
||||
msgChain += `\n[商城表情]${segment.data.url}\n`;
|
||||
else if (segment.type === 'mface') {
|
||||
// @ts-expect-error 商城表情 url
|
||||
msgParts.push(spSegColor(`[商城表情|${segment.data.url}]`));
|
||||
}
|
||||
else if (segment.type === 'record') {
|
||||
msgChain += `[语音]${segment.data.file} `;
|
||||
msgParts.push(spSegColor(`[语音|${segment.data.file}]`));
|
||||
}
|
||||
else if (segment.type === 'file') {
|
||||
msgChain += `[文件]${segment.data.file} `;
|
||||
msgParts.push(spSegColor(`[文件|${segment.data.file}]`));
|
||||
}
|
||||
else if (segment.type === 'json') {
|
||||
msgChain += `\n[json]${JSON.stringify(segment.data)}\n`;
|
||||
msgParts.push(spSegColor(`[json|${JSON.stringify(segment.data)}]`));
|
||||
}
|
||||
else if (segment.type === 'markdown') {
|
||||
msgChain += `\n[json]${segment.data.content}\n`;
|
||||
msgParts.push(spSegColor(`[markdown|${segment.data.content}]`));
|
||||
}
|
||||
else {
|
||||
msgChain += `${JSON.stringify(segment)}`;
|
||||
msgParts.push(spSegColor(`[未实现|${JSON.stringify(segment)}]`));
|
||||
}
|
||||
}
|
||||
msgChain = msgParts.join(' ');
|
||||
}
|
||||
else {
|
||||
msgChain = ob11Message.message;
|
||||
}
|
||||
let msgString = `${prefix}${ob11Message.sender.nickname}(${ob11Message.sender.user_id}): ${msgChain}`;
|
||||
if (isSelfSent){
|
||||
if (isSelfSent) {
|
||||
msgString = `${prefix}: ${msgChain}`;
|
||||
}
|
||||
log(msgString);
|
||||
}
|
||||
|
||||
export async function logNotice(ob11Notice: any){
|
||||
log('[notice]', ob11Notice);
|
||||
export async function logNotice(ob11Notice: any) {
|
||||
log(spColor('[Notice]'), ob11Notice);
|
||||
}
|
||||
|
||||
export async function logRequest(ob11Request: any){
|
||||
log('[request]', ob11Request);
|
||||
export async function logRequest(ob11Request: any) {
|
||||
log(spColor('[Request]'), ob11Request);
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ export class NapCatOnebot11 {
|
||||
try {
|
||||
// 生产环境会自己去掉
|
||||
if (import.meta.env.MODE == 'development') {
|
||||
console.log(buf2hex(Buffer.from(protobufData)));
|
||||
logDebug(buf2hex(Buffer.from(protobufData)));
|
||||
}
|
||||
const sysMsg = SysData.fromBinary(Buffer.from(protobufData));
|
||||
const peeruin = sysMsg.header[0].peerNumber;
|
||||
@@ -258,7 +258,7 @@ export class NapCatOnebot11 {
|
||||
for (const member of members.values()) {
|
||||
//console.log(member?.isDelete, role, isPrivilege);
|
||||
if (member?.isDelete && !isPrivilege /*&& selfInfo.uin !== member.uin*/) {
|
||||
console.log('[群聊] 群组 ', groupCode, ' 成员' + member.uin + '退出');
|
||||
log('[群聊] 群组 ', groupCode, ' 成员' + member.uin + '退出');
|
||||
const groupDecreaseEvent = new OB11GroupDecreaseEvent(parseInt(groupCode), parseInt(member.uin), 0, 'leave');// 不知道怎么出去的
|
||||
postOB11Event(groupDecreaseEvent, true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user