%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /backups/router/usr/local/share/syslog-ng/include/scl/jellyfin/
Upload File :
Create Path :
Current File : //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();
    };
  };
};

Zerion Mini Shell 1.0