%PDF- %PDF-
| Direktori : /proc/thread-self/root/backups/router/usr/local/share/syslog-ng/include/scl/jellyfin/ |
| Current File : //proc/thread-self/root/backups/router/usr/local/share/syslog-ng/include/scl/jellyfin/jellyfin.conf |
#############################################################################
# Copyright (c) 2024 Attila Szakacs
#
# 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.
#
#############################################################################
#
# Example log:
# [2024-01-26 22:10:29.472 +00:00] [INF] [60] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "iOS_BDC12081-9570-4790-90B1-F32701F36064_1706303401.88791-89e6ced512284193bdaa42cb7ac66d8a-d9df60b89d30948fe88b64ee65a62543"
block parser jellyfin()
{
channel {
parser {
regexp-parser(
patterns('^\[([^\]]*)\] \[([A-Z]{3})\] \[[0-9]+\] (?<MESSAGE>(?:.|\n)*)')
# Apparently the pattern above hits the 32K JIT stack limit.
flags("disable-jit")
);
date-parser(
template("$1")
format("%Y-%m-%d %H:%M:%S.%f %z")
);
};
rewrite {
set("Jellyfin" value("PROGRAM"));
set-severity("$2");
};
};
};
block source jellyfin(
base_dir()
filename_pattern()
) {
channel {
source {
wildcard-file(
base-dir("`base_dir`")
filename-pattern("`filename_pattern`")
multi-line-mode(regexp)
multi-line-prefix('^\[[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3} ')
multi-line-timeout(2)
flags(no-parse)
`__VARARGS__`
);
};
parser {
jellyfin();
};
};
};