start-with-logging.js 894 B

123456789101112131415161718192021222324252627282930
  1. const { spawn } = require('child_process');
  2. const fs = require('fs');
  3. // 创建日志文件(UTF-8编码)
  4. const logStream = fs.createWriteStream('server-utf8.log', {
  5. encoding: 'utf8',
  6. flags: 'a'
  7. });
  8. // 启动 npm run dev
  9. const child = spawn('npm', ['run', 'dev'], {
  10. stdio: ['inherit', 'pipe', 'pipe'],
  11. shell: true
  12. });
  13. // 将输出同时写到控制台和文件
  14. child.stdout.on('data', (data) => {
  15. const text = data.toString('utf8');
  16. process.stdout.write(text); // 显示到控制台
  17. logStream.write(text); // 写入文件
  18. });
  19. child.stderr.on('data', (data) => {
  20. const text = data.toString('utf8');
  21. process.stderr.write(text); // 显示到控制台
  22. logStream.write(text); // 写入文件
  23. });
  24. console.log('✅ 服务器已启动,日志将保存到 server-utf8.log (UTF-8编码)');
  25. console.log('📝 可以用任何文本编辑器查看此文件');