Round 282: Syslog ext, Journalctl ext, Logrotate ext, Rsyslog ext, Auditd ext (20 commands)
ober
18bac04eb8d24ccb3f7657fcfbf5c3c82835d91d
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features | ebib-import-file | :orange_circle: | Import file into Ebib | | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer | +### Round 282 — Syslog ext, Journalctl ext, Logrotate ext, Rsyslog ext, Auditd ext + +| Command | Status | Description | +|---------|--------|-------------| +| syslog-view | :orange_circle: | View system log | +| syslog-filter | :orange_circle: | Filter syslog by pattern | +| syslog-tail | :orange_circle: | Tail syslog live | +| syslog-search | :orange_circle: | Search syslog entries | +| journalctl-view | :orange_circle: | View systemd journal | +| journalctl-filter | :orange_circle: | Filter journal entries | +| journalctl-priority | :orange_circle: | Filter by priority level | +| journalctl-since | :orange_circle: | Show entries since time | +| logrotate-status | :orange_circle: | Show logrotate status | +| logrotate-force | :orange_circle: | Force log rotation | +| rsyslog-config | :orange_circle: | View rsyslog configuration | +| rsyslog-restart | :orange_circle: | Restart rsyslog service | +| auditd-status | :orange_circle: | Show auditd status | +| auditd-report | :orange_circle: | Generate audit report | +| auditd-rules | :orange_circle: | List audit rules | +| syslog-priority | :orange_circle: | Set syslog priority | +| syslog-facility | :orange_circle: | Set syslog facility | +| syslog-remote | :orange_circle: | Configure remote syslog | +| syslog-archive | :orange_circle: | Archive syslog files | +| journalctl-export | :orange_circle: | Export journal entries | + ### Round 281 — DNS ext, LDAP ext, SNMP ext, NTP ext, DHCP ext | Command | Status | Description | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -21973,4 +21973,54 @@ (def (cmd-dhcp-renew app) (let* ((echo (app-state-echo app))) - (echo-message! echo "DHCP: renewing lease"))) \ No newline at end of file + (echo-message! echo "DHCP: renewing lease"))) + +;;; Round 282 — Rsyslog ext, Auditd ext, Syslog ext (batch 2) + +(def (cmd-rsyslog-config app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Rsyslog: viewing configuration"))) + +(def (cmd-rsyslog-restart app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Rsyslog: restarting service"))) + +(def (cmd-auditd-status app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Auditd: showing status"))) + +(def (cmd-auditd-report app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Auditd: generating report"))) + +(def (cmd-auditd-rules app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Auditd: listing rules"))) + +(def (cmd-syslog-priority app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Priority level: " + (lambda (pri) + (echo-message! echo (str "Syslog: set priority " pri)))))) + +(def (cmd-syslog-facility app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Facility: " + (lambda (fac) + (echo-message! echo (str "Syslog: set facility " fac)))))) + +(def (cmd-syslog-remote app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Remote host: " + (lambda (host) + (echo-message! echo (str "Syslog: forwarding to " host)))))) + +(def (cmd-syslog-archive app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Syslog: archiving logs"))) + +(def (cmd-journalctl-export app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Export path: " + (lambda (path) + (echo-message! echo (str "Journalctl: exporting to " path)))))) \ No newline at end of file --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -22624,3 +22624,55 @@ (lambda (oid) (echo-message! echo (str "SNMP: WALK " oid)))))) +;;; Round 282 — Syslog ext, Journalctl ext, Logrotate ext (batch 1) + +(def (cmd-syslog-view app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Syslog: viewing system log"))) + +(def (cmd-syslog-filter app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Filter pattern: " + (lambda (pat) + (echo-message! echo (str "Syslog: filtering by " pat)))))) + +(def (cmd-syslog-tail app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Syslog: tailing live log"))) + +(def (cmd-syslog-search app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Search term: " + (lambda (term) + (echo-message! echo (str "Syslog: searching for " term)))))) + +(def (cmd-journalctl-view app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Journalctl: viewing journal"))) + +(def (cmd-journalctl-filter app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Filter expression: " + (lambda (expr) + (echo-message! echo (str "Journalctl: filter " expr)))))) + +(def (cmd-journalctl-priority app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Priority (0-7): " + (lambda (pri) + (echo-message! echo (str "Journalctl: priority " pri)))))) + +(def (cmd-journalctl-since app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Since (e.g. '1 hour ago'): " + (lambda (since) + (echo-message! echo (str "Journalctl: since " since)))))) + +(def (cmd-logrotate-status app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Logrotate: showing status"))) + +(def (cmd-logrotate-force app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Logrotate: forcing rotation"))) + --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -7339,4 +7339,25 @@ (register-command! 'dhcp-lease-list cmd-dhcp-lease-list) (register-command! 'dhcp-release cmd-dhcp-release) (register-command! 'dhcp-renew cmd-dhcp-renew) + ;; Round 282 + (register-command! 'syslog-view cmd-syslog-view) + (register-command! 'syslog-filter cmd-syslog-filter) + (register-command! 'syslog-tail cmd-syslog-tail) + (register-command! 'syslog-search cmd-syslog-search) + (register-command! 'journalctl-view cmd-journalctl-view) + (register-command! 'journalctl-filter cmd-journalctl-filter) + (register-command! 'journalctl-priority cmd-journalctl-priority) + (register-command! 'journalctl-since cmd-journalctl-since) + (register-command! 'logrotate-status cmd-logrotate-status) + (register-command! 'logrotate-force cmd-logrotate-force) + (register-command! 'rsyslog-config cmd-rsyslog-config) + (register-command! 'rsyslog-restart cmd-rsyslog-restart) + (register-command! 'auditd-status cmd-auditd-status) + (register-command! 'auditd-report cmd-auditd-report) + (register-command! 'auditd-rules cmd-auditd-rules) + (register-command! 'syslog-priority cmd-syslog-priority) + (register-command! 'syslog-facility cmd-syslog-facility) + (register-command! 'syslog-remote cmd-syslog-remote) + (register-command! 'syslog-archive cmd-syslog-archive) + (register-command! 'journalctl-export cmd-journalctl-export) )