A wrapper for systemd's journalctl written in TypeScript.
npm install @pextra/journalctl>A wrapper for systemd's journalctl written in TypeScript.




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.
``sh`
npm install @pextra/journalctl
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:
`typescript`
[
{
PRIORITY: MessagePriority;
FACILITY?: SyslogFacility;
IDENTIFIER: string;
MESSAGE: string;
matches: Record
}
// More entries...
]
Example:
`typescript
import {RetrieveJournal, JournalOptions} from '@pextra/journalctl';
const payload: JournalOptions = {
options: {
kernel: true,
reverse: true,
},
};
const entries = RetrieveJournal(payload); // Array
// Built command: journalctl --no-pager --output=json -k -r
console.log(entries); // Journal entries
``
See lib/types.ts for types.
For enterprise licensing, support, and consulting, please visit our website. Alternatively, you can contact us at enterprise@pextra.cloud.
If you have any questions, please feel free open an issue or a discussion. You can also contact us at support@pextra.cloud.
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.
journalctl is licensed under the Apache 2.0 License.