FimberFileTree constructor

FimberFileTree(
  1. String outputFileName, {
  2. dynamic logLevels = CustomFormatTree.defaultLevels,
  3. dynamic logFormat = '${CustomFormatTree.timeStampToken}' '\t${CustomFormatTree.messageToken}',
  4. int maxBufferSize = bufferSizeLimit,
  5. int bufferWriteInterval = fileBufferFlushInterval,
})

Creates Instance of FimberFileTree with optional logFormat from CustomFormatTree predicates. Takes optional maxBufferSize (default 1kB) and optional bufferWriteInterval in milliseconds.

Implementation

FimberFileTree(this.outputFileName,
    {logLevels = CustomFormatTree.defaultLevels,
    logFormat = '${CustomFormatTree.timeStampToken}'
        '\t${CustomFormatTree.messageToken}',
    int maxBufferSize = bufferSizeLimit,
    int bufferWriteInterval = fileBufferFlushInterval})
    : super(logLevels: logLevels, logFormat: logFormat) {
  _maxBufferSize = maxBufferSize;
  _bufferWriteInterval =
      Stream.periodic(Duration(milliseconds: bufferWriteInterval), (i) {
    // group calls
    var dumpBuffer = _logBuffer;
    _logBuffer = [];
    _bufferSize = 0;
    return dumpBuffer;
  }).listen((newLines) async {
    await _flushBuffer(newLines);
  });
}