Estoy desarrollando una aplicación en React (usando JavaScript) y quiero crear un archivo de registro usando el paquete Winston-react. He seguido su tutorial desde aquí: https://github.com/afex-connect/winston-react#readme (obviamente adaptado a javascript)
Instalar
npm install winston-reactAplicación.js de uso:
import React from 'react'; import winston from 'winston'; import { WinstonProvider } from 'winston-react'; const logger = winston.createLogger({ // ... transports: [ // ... new winston.transports.Console() ] }); const App = () => ( <WinstonProvider logger={logger}> <div> your awesome application </div> </WinstonProvider> );Usando ganchos:
import React from 'react'; import { useWinstonLogger } from 'winston-logger'; const Component = () => { const logger = useWinstonLogger(); React.useEffect(() => { logger.info('your awesome information log!'); }); return ( <div> your awesome component </div> ); }; Pero arroja este error: TypeError: fs.readdirSync is not a function
node_modules/pkginfo/lib/pkginfo.js:95 92 | dir = path.dirname(pmodule.filename); 93 | } 94 | > 95 | var files = fs.readdirSync(dir); | ^ 96 | 97 | if (~files.indexOf('package.json')) { 98 | return path.join(dir, 'package.json');¿Está ejecutando su aplicación en un nodo o en un navegador? El módulo fs no existe en el navegador.
Además, si desea crear un archivo de registro, debe utilizar el transporte de File . Su ejemplo de código solo muestra el transporte de la Console , que escribirá en la consola.