2017-10-14 2 views
0

Ist es möglich, die Standard-Konsolenausgabe von einem node.js-Server für den Benutzerclient anzuzeigen?
Ich habe mehrere Plugins wie z.B. 'console.re' aber keiner von ihnen arbeitete für mich.Knoten JS Anzeige lesen Konsolenausgabe auf Benutzergerät

Ich möchte die 'console.log' Ausgabe in Echtzeit lesen und alle Ausgaben an einen Client (mobiles Gerät) anzeigen.

Dank

Antwort

0

console.log schreibt stdout, so dass man sie hören kann und was mit den Daten zu tun.

console.log ([Daten] [args])

Drucke mit Newline nach stdout.

https://nodejs.org/api/console.html

Versuchen Sie diesen Code voran.

const spawn = require('child_process').spawn 
const ls = spawn('ls', ['-lh', '/usr']) 
const collectedData = [] 

ls.stdout.on('data', (data) => { 
    console.log('stdout: ' + data.toString()) 
    collectedData.push({ event: 'CONSOLE_LOG', data }) 
    // now just make the client consume collectedData in real-time 
    // or on refresh 
}) 

ls.stderr.on('data', (data) => { 
    console.log('stderr: ' + data.toString()) 
}) 

ls.on('exit', (code) => { 
    console.log('child process exited with code ' + code.toString()) 
}) 

Child Prozesse eingebaut werden Nehmen Sie eine Probe durch diese Dokumente hier: https://nodejs.org/api/child_process.html

Ich weiß nichts über Ihre Einrichtung, aber wenn Sie super einfach in Express

wollen

Machen Sie den Client es alle 2000ms oder so.

Andernfalls müssen Sie einen Socket mit dem Server erstellen und Aktualisierungen an den Client senden und sie im Client verarbeiten.

Sie können auch Setup-TCP und UDP-Sockets ziemlich schnell in node.js. Mach etwas googeln.

Ich habe einige Beispiel-Code kann ich Ihnen geben:

/** 
* SERVER 
*/ 

// Load dgram module 
const dgram = require('dgram') 
// Create new socket 
const server = dgram.createSocket('udp4') 

// Listening event 
server.on('listening',() => console.log('UDP Server listening')) 
// Message event 
server.on('message', (msg, rinfo) => { 
    console.log(`${rinfo.address}:${rinfo.port} - ${msg}`) 
}); 

// Start UDP socket listener 
const PORT = 3333 
const HOST = '127.0.0.1' 
server.bind(PORT, HOST) 

/** 
* CLIENT 
*/ 

const client = dgram.createSocket('udp4') 
const ip = require('ip') 

client.send('Sample message', PORT, HOST, (err) => { 
    if (err) throw err 
    console.log(`UDP message sent: ${ip.address()}`) 
    client.close() 
})