xref: /MusicFree/src/utils/log.ts (revision e22d5e4f85cc635e62cd81a872a6b85f645cb2fb)
1242960d3S猫头猫import {logger, fileAsyncTransport} from 'react-native-logs';
2242960d3S猫头猫import RNFS from 'react-native-fs';
3242960d3S猫头猫import pathConst from '@/constants/pathConst';
4*e22d5e4fS猫头猫import Config from '../core/config';
5242960d3S猫头猫
6242960d3S猫头猫const config = {
7242960d3S猫头猫  transport: fileAsyncTransport,
8242960d3S猫头猫  transportOptions: {
9242960d3S猫头猫    FS: RNFS,
10242960d3S猫头猫    filePath: pathConst.logPath,
11242960d3S猫头猫    fileName: `error-log-{date-today}.log`,
12242960d3S猫头猫  },
13242960d3S猫头猫  dateFormat: 'local',
14242960d3S猫头猫};
15242960d3S猫头猫
16242960d3S猫头猫const traceConfig = {
17242960d3S猫头猫  transport: fileAsyncTransport,
18242960d3S猫头猫  transportOptions: {
19242960d3S猫头猫    FS: RNFS,
20242960d3S猫头猫    filePath: pathConst.logPath,
21242960d3S猫头猫    fileName: `trace-log.log`,
22242960d3S猫头猫  },
23242960d3S猫头猫  dateFormat: 'local',
24242960d3S猫头猫};
25242960d3S猫头猫
26242960d3S猫头猫const log = logger.createLogger(config);
27242960d3S猫头猫const traceLogger = logger.createLogger(traceConfig);
28242960d3S猫头猫
29242960d3S猫头猫export function trace(
30242960d3S猫头猫  desc: string,
31242960d3S猫头猫  message: any,
32242960d3S猫头猫  level: 'info' | 'error' = 'info',
33242960d3S猫头猫) {
34242960d3S猫头猫  if (__DEV__) {
35242960d3S猫头猫    console.log(desc, message);
36242960d3S猫头猫  }
37242960d3S猫头猫  // 特殊情况记录操作路径
38*e22d5e4fS猫头猫  if (Config.get('setting.basic.debug.traceLog')) {
39242960d3S猫头猫    traceLogger[level]({
40242960d3S猫头猫      desc,
41242960d3S猫头猫      message,
42242960d3S猫头猫    });
43242960d3S猫头猫  }
44242960d3S猫头猫}
45242960d3S猫头猫
46242960d3S猫头猫export function errorLog(desc: string, message: any) {
47*e22d5e4fS猫头猫  if (Config.get('setting.basic.debug.errorLog')) {
48242960d3S猫头猫    log.error({
49242960d3S猫头猫      desc,
50242960d3S猫头猫      message,
51242960d3S猫头猫    });
52242960d3S猫头猫    trace(desc, message, 'error');
53242960d3S猫头猫  }
54242960d3S猫头猫}
55242960d3S猫头猫
56242960d3S猫头猫export {log};
57