update: normalize log

This commit is contained in:
Seijo Cecilia
2024-09-04 15:47:06 +08:00
parent 398f4dbaf8
commit 48755fbd34
16 changed files with 84 additions and 94 deletions

View File

@@ -12,7 +12,7 @@ export async function encodeSilk(filePath: string, TEMP_DIR: string, logger: Log
let duration = pttFileInfo.size / 1024 / 3; // 3kb/s
duration = Math.floor(duration);
duration = Math.max(1, duration);
logger.log('通过文件大小估算语音的时长:', duration);
logger.logDebug('通过文件大小估算语音的时长:', duration);
return duration;
}
@@ -20,7 +20,7 @@ export async function encodeSilk(filePath: string, TEMP_DIR: string, logger: Log
const file = await fsPromise.readFile(filePath);
const pttPath = path.join(TEMP_DIR, randomUUID());
if (!isSilk(file)) {
logger.log(`语音文件${filePath}需要转换成silk`);
logger.logDebug(`语音文件${filePath}需要转换成silk`);
const _isWav = isWav(file);
const pcmPath = pttPath + '.pcm';
let sampleRate = 0;
@@ -30,7 +30,7 @@ export async function encodeSilk(filePath: string, TEMP_DIR: string, logger: Log
const ffmpegPath = process.env.FFMPEG_PATH || 'ffmpeg';
const cp = spawn(ffmpegPath, ['-y', '-i', filePath, '-ar', '24000', '-ac', '1', '-f', 's16le', pcmPath]);
cp.on('error', err => {
logger.log('FFmpeg处理转换出错: ', err.message);
logger.logError('ffmpeg 处理转换出错: ', err.message);
return reject(err);
});
cp.on('exit', (code, signal) => {
@@ -38,12 +38,11 @@ export async function encodeSilk(filePath: string, TEMP_DIR: string, logger: Log
if (code == null || EXIT_CODES.includes(code)) {
sampleRate = 24000;
const data = fs.readFileSync(pcmPath);
fs.unlink(pcmPath, (err) => {
});
fs.unlinkSync(pcmPath);
return resolve(data);
}
logger.log(`FFmpeg exit: code=${code ?? 'unknown'} sig=${signal ?? 'unknown'}`);
reject(Error('FFmpeg处理转换失败'));
logger.logError(`ffmpeg 处理失败: code=${code ?? 'unknown'} sig=${signal ?? 'unknown'}`);
reject(Error(`ffmpeg 处理失败: code=${code ?? 'unknown'} sig=${signal ?? 'unknown'}`));
});
});
};
@@ -61,7 +60,7 @@ export async function encodeSilk(filePath: string, TEMP_DIR: string, logger: Log
}
const silk = await encode(input, sampleRate);
fs.writeFileSync(pttPath, silk.data);
logger.log(`语音文件${filePath}转换成功!`, pttPath, '时长:', silk.duration);
logger.logDebug(`语音文件 ${filePath} 转换成功:`, pttPath, '时长:', silk.duration);
return {
converted: true,
path: pttPath,
@@ -69,11 +68,11 @@ export async function encodeSilk(filePath: string, TEMP_DIR: string, logger: Log
};
} else {
const silk = file;
let duration = 0;
let duration: number;
try {
duration = getDuration(silk) / 1000;
} catch (e: any) {
logger.log('获取语音文件时长失败, 使用文件大小推测时长', filePath, e.stack);
logger.logWarn('获取语音文件时长失败, 使用文件大小推测时长', filePath, e.stack);
duration = await guessDuration(filePath);
}

View File

@@ -38,9 +38,9 @@ export abstract class ConfigBase<T> {
if (!fs.existsSync(configPath)) {
try {
fs.writeFileSync(configPath, fs.readFileSync(this.getConfigPath(undefined), 'utf-8'));
logger.log(`[Core] [Config] 配置文件创建成功!\n`);
logger.log(`配置文件 ${this.name} 创建成功\n`);
} catch (e: any) {
logger.logError(`[Core] [Config] 创建配置文件时发生错误:`, e.message);
logger.logError(`创建配置文件 ${this.name} 时发生错误:`, e.message);
}
}
try {
@@ -49,9 +49,9 @@ export abstract class ConfigBase<T> {
return this.configData;
} catch (e: any) {
if (e instanceof SyntaxError) {
logger.logError(`[Core] [Config] 配置文件格式错误请检查配置文件:`, e.message);
logger.logError(`配置文件 ${this.name} 格式错误, 请检查配置文件:`, e.message);
} else {
logger.logError(`[Core] [Config] 读取配置文件时发生错误:`, e.message);
logger.logError(`读取配置文件 ${this.name} 时发生错误:`, e);
}
return {} as T;
}

View File

@@ -53,23 +53,23 @@ export class QQBasicInfoWrapper {
//此方法不要直接使用
getQUAInternal() {
switch (systemPlatform) {
case 'linux':
return `V1_LNX_${this.getFullQQVesion()}_${this.getQQBuildStr()}_GW_B`;
case 'darwin':
return `V1_MAC_${this.getFullQQVesion()}_${this.getQQBuildStr()}_GW_B`;
default:
return `V1_WIN_${this.getFullQQVesion()}_${this.getQQBuildStr()}_GW_B`;
case 'linux':
return `V1_LNX_${this.getFullQQVesion()}_${this.getQQBuildStr()}_GW_B`;
case 'darwin':
return `V1_MAC_${this.getFullQQVesion()}_${this.getQQBuildStr()}_GW_B`;
default:
return `V1_WIN_${this.getFullQQVesion()}_${this.getQQBuildStr()}_GW_B`;
}
}
getAppidInternal() {
switch (systemPlatform) {
case 'linux':
return '537243600';
case 'darwin':
return '537243441';
default:
return '537243538';
case 'linux':
return '537243600';
case 'darwin':
return '537243441';
default:
return '537243538';
}
}
@@ -84,8 +84,8 @@ export class QQBasicInfoWrapper {
}
// else
this.context.logger.log(`[QQ版本兼容性检测] 获取Appid异常 请检测NapCat/QQNT是否正常`);
this.context.logger.log(`[QQ版本兼容性检测] ${fullVersion} 版本兼容性不佳可能会导致一些功能无法正常使用`,);
this.context.logger.logWarn(`获取 AppID 异常, 使用备用 AppID. 请检测 NapCat/QQNT 是否正常`);
this.context.logger.logWarn(`${fullVersion} 版本兼容性不佳, 可能会导致一些功能无法正常使用`,);
return { appid: this.getAppidInternal(), qua: this.getQUAInternal() };
}
}

View File

@@ -24,9 +24,9 @@ export async function getVideoInfo(filePath: string, logger: LogWrapper) {
} else {
const videoStream = metadata.streams.find((s: FfprobeStream) => s.codec_type === 'video');
if (videoStream) {
logger.log(`视频尺寸: ${videoStream.width}x${videoStream.height}`);
logger.logDebug(`视频尺寸: ${videoStream.width}x${videoStream.height}`);
} else {
return reject(new Error('未找到视频流信息'));
return reject(new Error('未找到视频流信息.'));
}
resolve({
width: videoStream.width!, height: videoStream.height!,
@@ -42,17 +42,16 @@ export async function getVideoInfo(filePath: string, logger: LogWrapper) {
export function checkFfmpeg(logger: LogWrapper, newPath: string | null = null): Promise<boolean> {
return new Promise((resolve) => {
logger.log('开始检查ffmpeg', newPath);
logger.logDebug('开始检查 ffmpeg', newPath);
if (newPath) {
ffmpeg.setFfmpegPath(newPath);
}
try {
ffmpeg.getAvailableFormats((err: any) => {
if (err) {
logger.log('ffmpeg is not installed or not found in PATH:', err);
logger.logWarn('未找到 ffmpeg', err);
resolve(false);
} else {
logger.log('ffmpeg is installed.');
resolve(true);
}
});