Estoy tratando de agregar datos a un archivo de registro usando Node.js y eso funciona bien, pero no va a la siguiente línea. \n
no parece estar funcionando en mi función a continuación. ¿Alguna sugerencia?
function processInput ( text )
{
fs.open('H://log.txt', 'a', 666, function( e, id ) {
fs.write( id, text + "\n", null, 'utf8', function(){
fs.close(id, function(){
console.log('file is updated');
});
});
});
}
javascript
node.js
newline
DaBears
fuente
fuente
\r\n
?Respuestas:
Parece que está ejecutando esto en Windows (dada su
H://log.txt
ruta de archivo).Intente usar en
\r\n
lugar de solo\n
.Honestamente,
\n
está bien; probablemente esté viendo el archivo de registro en el bloc de notas o en otra cosa que no muestre nuevas líneas que no sean de Windows. Intente abrirlo en un visor / editor diferente (por ejemplo, Wordpad).fuente
En su lugar, utilice la constante os.EOL.
fuente
os.EOL
, tendrá algunas líneas que terminan con/r/n
(desde el momento en que la aplicación se estaba ejecutando en Windows) y luego tendrá filas que terminan solo con/n
(cuando la aplicación se ejecuta en Linux). Esto tiene el potencial de causar algunos problemas, especialmente si existe algún análisis automático de los archivos de registro. Decidí usar/n
.fs.write
conos.EOL
en un binario. Solíapkg
generar un binario para Windows. Cuando se ejecuta, el último registro escrito tiene una nueva línea adjunta (como se esperaba); pero, parece que otras aplicaciones de Windows tratan de que es un nuevo récord. Estoy buscando una solución alternativa.use la
\r\n
combinación para agregar una nueva línea en el nodo jsfuente