1import {logger, fileAsyncTransport} from 'react-native-logs'; 2import RNFS from 'react-native-fs'; 3import pathConst from '@/constants/pathConst'; 4import Config from '../core/config'; 5 6const config = { 7 transport: fileAsyncTransport, 8 transportOptions: { 9 FS: RNFS, 10 filePath: pathConst.logPath, 11 fileName: `error-log-{date-today}.log`, 12 }, 13 dateFormat: 'local', 14}; 15 16const traceConfig = { 17 transport: fileAsyncTransport, 18 transportOptions: { 19 FS: RNFS, 20 filePath: pathConst.logPath, 21 fileName: `trace-log.log`, 22 }, 23 dateFormat: 'local', 24}; 25 26const log = logger.createLogger(config); 27const traceLogger = logger.createLogger(traceConfig); 28 29export function trace( 30 desc: string, 31 message: any, 32 level: 'info' | 'error' = 'info', 33) { 34 if (__DEV__) { 35 console.log(desc, message); 36 } 37 // 特殊情况记录操作路径 38 if (Config.get('setting.basic.debug.traceLog')) { 39 traceLogger[level]({ 40 desc, 41 message, 42 }); 43 } 44} 45 46export function errorLog(desc: string, message: any) { 47 if (Config.get('setting.basic.debug.errorLog')) { 48 log.error({ 49 desc, 50 message, 51 }); 52 trace(desc, message, 'error'); 53 } 54} 55 56export {log}; 57