Simple wrapper for streaming data to files on mobile devices in hybrid apps.
If you're using this for log capture on a cordova / capacitor app, consider using cordova-plugin-secure-logger instead.
If you need a pure NodeJS implementation, use rotating-file-stream instead.
npm install --save @obsidize/rotating-file-stream
Source documentation can be found here
import { RotatingFileStream, CordovaFileEntryApi, CapacitorFileEntryApi } from '@obsidize/rotating-file-stream';
const fileStream = new RotatingFileStream({
maxFileSize: 2e6, // 2MB
files: CordovaFileEntryApi.createCacheRotationFiles(
cdvFile, // @awesome-cordova-plugins/file reference
'logs',
['debug-a.log', 'debug-b.log']
)
});
// Or if you want to use @capacitor/filesystem
const fileStream = new RotatingFileStream({
maxFileSize: 2e6, // 2MB
files: CapacitorFileEntryApi.createCacheRotationFiles(
Filesystem, // @capacitor/filesystem reference
'logs',
['debug-a.log', 'debug-b.log']
)
});
const buffer = new ArrayBuffer(42);
fileStream.write(buffer).then(...);
const entries = await fileStream.refreshAllEntries();
for (const entry of entries) {
// read the entry data, or get its URL and do something with it
}
Generated using TypeDoc