writeStream.write(log + '\n') 里的 .write 方法 没找到对应文档
来源:8-6 写日志

慕运维2471188
2019-05-29
老师好,这段代码中我有个不明白的地方,我在nodejs文档中不确定writeStream.write(log + '\n')
里的.write
方法是被谁调用的
因为被return出来的writeStream
相当于是fs.createWriteStream(fullFileName, {flags: 'a'})
得到的结果,但是它为什么可以连接.write
呢?
是和fs.write()
方法有关吗?
还是和writable.write(chunk[, encoding][, callback])
这个方法有关?
const fs = require('fs')
const path = require('path')
// 写日志
function writeLog(writeStream, log) {
writeStream.write(log + '\n') // 关键代码
}
// 生成 write Stream
function createWriteStream(fileName) {
// 通过拼接路径找到真正的地址
const fullFileName = path.join(__dirname, '../', '../', 'logs', fileName)
const writeStream = fs.createWriteStream(fullFileName, {
flags: 'a'
})
return writeStream
}
// 写访问日志
const accessWriteStream = createWriteStream('access.log')
function access(log) {
writeLog(accessWriteStream, log)
}
module.exports = {
access
}
写回答
2回答
-
双越
2019-05-30
没太看明白你的问题是什么,一个一个来吧,别一次性提问太多。你先说一个最核心的问题。
132019-05-30 -
慕运维2471188
提问者
2019-05-30
我通过打印
console.log(writeStream.write)
知道了它是一个function函数,即为:
function(chunk, encoding, cb) {......}
那对应的调用是否为?:
writable.write(chunk[, encoding][, callback])
如果是的话,那为什么要使用这个方法来写入log呢?
请老师解惑
00
相似问题