summaryrefslogtreecommitdiff
path: root/gnu/packages/logging.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/logging.scm')
-rw-r--r--gnu/packages/logging.scm194
1 files changed, 169 insertions, 25 deletions
diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm
index 6a4975e435..8c518de07d 100644
--- a/gnu/packages/logging.scm
+++ b/gnu/packages/logging.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2019 Gábor Boskovits <[email protected]>
;;; Copyright © 2019 Meiyo Peng <[email protected]>
;;; Copyright © 2020 Marius Bakke <[email protected]>
+;;; Copyright © 2021 Guillaume Le Vaillant <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,12 +34,27 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages bison)
+ #:use-module (gnu packages c)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages cyrus-sasl)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages flex)
+ #:use-module (gnu packages geo)
+ #:use-module (gnu packages gnupg)
+ #:use-module (gnu packages kerberos)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages networking)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
- #:use-module (gnu packages autotools))
+ #:use-module (gnu packages tcl)
+ #:use-module (gnu packages tls))
(define-public log4cpp
(package
@@ -76,7 +92,7 @@ staying as close to their API as is reasonable.")
(define-public glog
(package
(name "glog")
- (version "0.4.0")
+ (version "0.5.0")
(home-page "https://github.com/google/glog")
(source (origin
(method git-fetch)
@@ -84,24 +100,12 @@ staying as close to their API as is reasonable.")
(commit (string-append "v" version))))
(sha256
(base32
- "1xd3maiipfbxmhc9rrblc5x52nxvkwxp14npg31y5njqvkvzax9b"))
+ "17014q25c99qyis6l3fwxidw6222bb269fdlr74gn7pzmzg4lvg3"))
(file-name (git-file-name name version))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases (modify-phases %standard-phases
- (add-before 'check 'disable-signal-tests
- (lambda _
- ;; XXX: This test fails on non x86_64. See e.g.
- ;; https://github.com/google/glog/issues/219 and
- ;; https://github.com/google/glog/issues/256.
- (substitute* "Makefile"
- (("\tsignalhandler_unittest_sh") "\t$(EMPTY)"))
- #t)))))
+ (build-system cmake-build-system)
(native-inputs
- `(("perl" ,perl) ;for tests
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)))
+ (list perl ;for tests
+ autoconf automake libtool))
(synopsis "C++ logging library")
(description
"Google glog is a library that implements application-level logging.
@@ -124,10 +128,8 @@ command line.")
"0wl2wm6p3pc0vkk33s7rzgcfvs9cwxfmlz997pdfhlw72r00l7s5"))))
(build-system python-build-system)
(inputs
- `(("python-pyyaml" ,python-pyyaml)
- ("python-sockjs-tornado" ,python-sockjs-tornado)
- ("python-tornado-http-auth" ,python-tornado-http-auth)
- ("python-tornado" ,python-tornado)))
+ (list python-pyyaml python-sockjs-tornado python-tornado-http-auth
+ python-tornado))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -179,7 +181,7 @@ commands, displaying the results via a web interface.")
#t))
(delete 'configure)) ; no configure script
#:tests? #f)) ; no test suite (make check just runs cppcheck)
- (inputs `(("ncurses" ,ncurses)))
+ (inputs (list ncurses))
(home-page "https://vanheusden.com/multitail/")
(synopsis "Monitor multiple log files")
(description
@@ -190,7 +192,7 @@ output in multiple windows in a terminal.")
(define-public spdlog
(package
(name "spdlog")
- (version "1.8.5")
+ (version "1.9.2")
(source
(origin
(method git-fetch)
@@ -199,13 +201,14 @@ output in multiple windows in a terminal.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "179krvg5sad6dviqpcjwg6czzknnilqszrg1d0fgp12h6sy66vqg"))))
+ (base32 "1img03ka63hf3sb62v5f02ax5jc9mlpz5cijr38xxzymvcg1s98r"))))
(build-system cmake-build-system)
;; TODO run benchmark. Currently not possible, as adding
;; (gnu packages benchmark) forms a dependency cycle
(arguments
'(#:configure-flags
(list "-DSPDLOG_BUILD_BENCH=OFF"
+ "-DSPDLOG_BUILD_SHARED=ON"
"-DSPDLOG_BUILD_TESTS=ON")))
(home-page "https://github.com/gabime/spdlog")
(synopsis "Fast C++ logging library")
@@ -214,3 +217,144 @@ library.")
;; spdlog is under Expat license, but the bundled fmt library in
;; "include/spdlog/fmt/bundled" is under BSD 2 clause license.
(license (list license:expat license:bsd-2))))
+
+(define-public rsyslog
+ (package
+ (name "rsyslog")
+ (version "8.2112.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rsyslog/rsyslog.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0bp124w2qv8hix5i0p04d8yvsipy18dhqm7zw8i6cwdgnhdadq96"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:phases
+ '(modify-phases %standard-phases
+ ;; autogen.sh calls configure at the end of the script.
+ (replace 'bootstrap
+ (lambda _ (invoke "autoreconf" "-vfi"))))
+ #:configure-flags
+ ;; Rsyslog comes with a plethora of optional modules. We enable most of
+ ;; them for a full-featured build.
+ '(list "--enable-kmsg"
+ "--enable-liblogging_stdlog"
+ "--enable-mmanon"
+ "--enable-mmcount"
+ "--enable-unlimited_select"
+
+ ;; Input plugins
+ "--enable-imbatchreport"
+ "--enable-imczmq"
+ "--enable-imdiag" ;for full tests
+ "--enable-imdocker"
+ "--enable-imfile"
+ "--enable-imkafka"
+ "--enable-improg"
+ "--enable-impstats"
+ "--enable-imptcp"
+ "--enable-imtuxedoulog"
+
+ ;; Output plugins
+ "--enable-clickhouse"
+ "--enable-elasticsearch"
+ "--enable-mail"
+ "--enable-omczmq"
+ "--enable-omfile_hardened"
+ "--enable-omhttp"
+ "--enable-omhttpfs"
+ "--enable-omkafka"
+ "--enable-omprog"
+ "--enable-omruleset"
+ "--enable-omstdout"
+ "--enable-omtcl"
+ "--enable-omudpspoof"
+ "--enable-omuxsock"
+
+ ;; Parser Modules
+ "--enable-pmaixforwardedfrom"
+ "--enable-pmciscoios"
+ "--enable-pmcisconames"
+ "--enable-pmdb2diag"
+ "--enable-pmlastmsg"
+ "--enable-pmnormalize"
+ "--enable-pmnull"
+ "--enable-pmpanngfw"
+ "--enable-pmsnare"
+
+ ;; Message Modification Modules
+ "--enable-mmaudit"
+ "--enable-mmdarwin"
+ "--enable-mmdblookup"
+ "--enable-mmfields"
+ "--enable-mmjsonparse"
+ "--enable-mmkubernetes"
+ "--enable-mmnormalize"
+ "--enable-mmpstrucdata"
+ "--enable-mmrfc5424addhmac"
+ "--enable-mmrm1stspace"
+ "--enable-mmsequence"
+ "--enable-mmsnmptrapd"
+ "--enable-mmtaghostname"
+ "--enable-mmutf8fix"
+
+ ;; Database Support
+ "--enable-libdbi"
+ "--enable-mysql"
+ "--enable-pgsql"
+
+ ;; Protocol Support
+ "--enable-openssl"
+ "--enable-gnutls"
+ "--enable-gssapi-krb5"
+ "--enable-snmp"
+
+ ;; Function modules
+ "--enable-fmhash_xxhash")))
+ (native-inputs
+ (list autoconf automake bison flex libtool pkg-config))
+ (inputs
+ (list curl
+ cyrus-sasl
+ czmq
+ gnutls
+ libdbi
+ libestr
+ libfastjson
+ libgcrypt
+ liblogging
+ liblognorm
+ libmaxminddb
+ libnet
+ librdkafka
+ lz4
+ (list mariadb "dev")
+ (list mariadb "lib")
+ mit-krb5
+ net-snmp
+ openssl
+ postgresql
+ tcl
+ (list util-linux "lib")
+ zeromq
+ zlib))
+ (home-page "https://www.rsyslog.com/")
+ (synopsis "RSYSLOG is a flexible and fast system for log processing")
+ (description
+ "Rsyslog offers high-performance, great security features and a modular
+design. While it started as a regular syslogd, rsyslog has evolved into a
+kind of swiss army knife of logging, being able to accept inputs from a wide
+variety of sources, transform them, and output the results to diverse
+destinations.")
+ ;; Most of the source code is licensed under the LGPL3+ with many source
+ ;; files licensed under the terms of the ASL2.0. Some modules are
+ ;; licensed under GPL3+.
+ (license (list license:lgpl3+
+ license:gpl3+
+ license:asl2.0))))