@pextra/journalctl
v0.1.3
Published
A wrapper for systemd's journalctl written in TypeScript.
Downloads
277
Readme
journalctl
A wrapper for systemd's journalctl written in TypeScript.
NOTICE
This package is still in development and is not yet ready for production use. There will be breaking changes before the package is stable.
Most commands are implemented, but a few are not yet. Not many of the command options are implemented yet, but the most common ones are.
Please open an issue if you would like a specific option implemented.
Install
npm install @pextra/journalctl
Usage
After v0.1.1, this library has become ESM-only. You will need to use an ESM-compatible environment to use this library.
The library exports one synchronous function, RetrieveJournal
, which is used to retrieve journal entries.
It takes one argument, which provides the journalctl command options in a typed manner.
It will return them in the following format:
[
{
PRIORITY: MessagePriority;
FACILITY?: SyslogFacility;
IDENTIFIER: string;
MESSAGE: string;
matches: Record<string, string>;
}
// More entries...
]
Example:
import {RetrieveJournal, JournalOptions} from '@pextra/journalctl';
const payload: JournalOptions = {
options: {
kernel: true,
reverse: true,
},
};
const entries = RetrieveJournal(payload); // Array<JournalEntry>
// Built command: `journalctl --no-pager --output=json -k -r`
console.log(entries); // Journal entries
See lib/types.ts for types.
Support/Contact
For enterprise licensing, support, and consulting, please visit our website. Alternatively, you can contact us at [email protected].
If you have any questions, please feel free open an issue or a discussion. You can also contact us at [email protected].
Contributions
We welcome contributions! If you find any bugs, have feature requests, or would like to contribute enhancements, please feel free to open issues or submit pull requests.
We use gts for linting and formatting.
License
journalctl is licensed under the Apache 2.0 License.