%PDF- %PDF-
Direktori : /backups/router/usr/local/share/syslog-ng/include/scl/darwinosl/ |
Current File : //backups/router/usr/local/share/syslog-ng/include/scl/darwinosl/plugin.conf |
############################################################################# # Copyright (c) 2023 Hofi <hofione@gmail.com> # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License version 2 as published # by the Free Software Foundation, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # As an additional exemption you are allowed to compile & link against the # OpenSSL libraries as published by the OpenSSL project. See the file # COPYING for details. # ############################################################################# # NOTE: For predicate hints see: # log help predicates @define def-osl-predicate " (eventType == 'logEvent' || eventType == 'lossEvent' || eventType == 'stateEvent' || eventType == 'userActionEvent') && (logType != 'debug') " @define def-osl-stream-params "--type log --type trace --level info --level debug" block source darwin-oslog(...) { @requires darwinosl "The darwinosl() source driver depends on the darwinosl module" darwinosl( filter-predicate("`def-osl-predicate`") `__VARARGS__` flags(syslog-protocol dont-store-legacy-msghdr assume-utf8) ); }; # NOTE: There is no public API call to query the live log stream, so we are just capturing output of /usr/bin/log block source darwin-oslog-stream(params("`def-osl-stream-params`")) { channel { source { program( "/usr/bin/log stream `params` --style ndjson" flags( no-parse no-multi-line dont-store-legacy-msghdr assume-utf8 ) ); }; parser { json-parser( prefix(".darwinoslog.") ); date-parser( format("%Y-%m-%d %T.%f%z") template("${.darwinoslog.timestamp}") ); add-contextual-data( selector("${.darwinoslog.messageType}"), database("`scl-root`/darwinosl/darwinosl-metadata-db.csv"), default-selector("unknown"), prefix(".darwinoslog.") ); }; rewrite { set("$(if ('$(strip ${.darwinoslog.processImagePath})' != '') '$(basename ${.darwinoslog.processImagePath})' '')", value("PROGRAM")); subst( " ", "\\0x20", value("PROGRAM"), flags("global") ); set-pri("${.darwinoslog.unixpri}"); set("${.darwinoslog.processID}", value("PID")); set("${.darwinoslog.activityIdentifier}$(if ('${.darwinoslog.subsystem}' != '') ' (${.darwinoslog.subsystem})' '')$(if ('${.darwinoslog.category}' != '') ' [${.darwinoslog.category}]' '') ${.darwinoslog.eventMessage}", value("MSG")); set("local+darwinoslog_stream" value("TRANSPORT")); }; }; };