Nodejs监听日志文件的变化的过程解析

2020-06-17 06:06:28易采站长站整理

err <Error> ——错误
fd <integer>——文件系统流

fs.read()

语法

fs.read(fd, buffer, offset, length, position, callback)

参数解析


fd <integer> ——文件系统流
buffer <Buffer> | <TypedArray> | <DataView>——数据将写入的缓冲区
offset <integer>—— buffer 中开始写入的偏移量
length <integer>——要读取的字节数
position <integer>——从文件中开始读取的位置
callback <Function>

err <Error>
bytesRead <integer>
buffer <Buffer>

fs.createReadStream()

语法

fs.createReadStream(path[, options])

参数解析


path <string> | <Buffer> | <URL>——文件路径
options <string> | <Object>

flags <string> 默认值: 'r'。——文件系统标志
encoding <string> 默认值: null。——字符编码
fd <integer> 默认值: null。——文件系统流
mode <integer> 默认值: 0o666。——设置文件模式(权限和粘滞位),但仅限于创建文件的情况
autoClose <boolean> 默认值: true。——是否自动关闭文件描述符
start <integer>——文件读取的开始位置
end <integer> 默认值: Infinity。——文件读取的结束位置
highWaterMark <integer> 默认值: 64 * 1024。

返回: <fs.ReadStream> 参阅可读流。

如果 autoClose 为 false,则即使出现错误,也不会关闭文件描述符。 应用程序负责关闭它并确保没有文件描述符泄漏。 如果 autoClose 设为 true(默认行为),则在 ‘error’ 或 ‘end’ 事件时将自动关闭文件描述符。

mode 用于设置文件模式(权限和粘滞位),但仅限于创建文件的情况。

例子

读取sample.txt文件的10个字符

fs.createReadStream('sample.txt', { start: 90, end: 99 });

readLine.createInterface

语法

readline.createInterface(options)

参数解析

options <Object>

  input <stream.Readable> 要监听的可读流。此选项是必需的。
  output <stream.Writable> 将逐行读取数据写入的可写流。
  completer <Function> 用于 Tab 自动补全的可选函数。
  terminal <boolean> 如果 input 和 output 应该被视为 TTY,并且写入 ANSI/VT100 转义码,则为 true。 默认值: 实例化时在 output 流上检查 isTTY。