diff --git a/beacon-chain/BUILD.bazel b/beacon-chain/BUILD.bazel index 2e2f324cca..baab9f40a7 100644 --- a/beacon-chain/BUILD.bazel +++ b/beacon-chain/BUILD.bazel @@ -28,6 +28,7 @@ go_library( "@com_github_sirupsen_logrus//:go_default_library", "@com_github_urfave_cli_v2//:go_default_library", "@com_github_urfave_cli_v2//altsrc:go_default_library", + "@com_github_wercker_journalhook//:go_default_library", "@com_github_x_cray_logrus_prefixed_formatter//:go_default_library", ], ) @@ -57,6 +58,7 @@ go_image( "//shared/debug:go_default_library", "//shared/featureconfig:go_default_library", "//shared/logutil:go_default_library", + "//shared/maxprocs:go_default_library", "//shared/version:go_default_library", "@com_github_ethereum_go_ethereum//log:go_default_library", "@com_github_ipfs_go_log_v2//:go_default_library", @@ -64,8 +66,8 @@ go_image( "@com_github_sirupsen_logrus//:go_default_library", "@com_github_urfave_cli_v2//:go_default_library", "@com_github_urfave_cli_v2//altsrc:go_default_library", + "@com_github_wercker_journalhook//:go_default_library", "@com_github_x_cray_logrus_prefixed_formatter//:go_default_library", - "//shared/maxprocs:go_default_library", ], ) diff --git a/beacon-chain/main.go b/beacon-chain/main.go index 137009c7f7..419b95ca03 100644 --- a/beacon-chain/main.go +++ b/beacon-chain/main.go @@ -19,6 +19,7 @@ import ( _ "github.com/prysmaticlabs/prysm/shared/maxprocs" "github.com/prysmaticlabs/prysm/shared/version" "github.com/sirupsen/logrus" + "github.com/wercker/journalhook" "github.com/urfave/cli/v2" "github.com/urfave/cli/v2/altsrc" prefixed "github.com/x-cray/logrus-prefixed-formatter" @@ -136,6 +137,8 @@ func main() { logrus.SetFormatter(f) case "json": logrus.SetFormatter(&logrus.JSONFormatter{}) + case "journald": + journalhook.Enable() default: return fmt.Errorf("unknown log format %s", format) } diff --git a/deps.bzl b/deps.bzl index 84d14f7c86..0da2ea2dcd 100644 --- a/deps.bzl +++ b/deps.bzl @@ -3630,3 +3630,9 @@ def prysm_deps(): sum = "h1:tYH07UPoQt0OCQdgWWMgYHy3/a9bcxNpBIysykNIP7I=", version = "v2.20.5+incompatible", ) + go_repository( + name = "com_github_wercker_journalhook", + importpath = "github.com/wercker/journalhook", + sum = "h1:shC1HB1UogxN5Ech3Yqaaxj1X/P656PPCB4RbojIJqc=", + version = "v0.0.0-20180428041537-5d0a5ae867b3", + ) diff --git a/go.mod b/go.mod index bf3ad8e6e5..cc1449471f 100644 --- a/go.mod +++ b/go.mod @@ -106,6 +106,7 @@ require ( github.com/wealdtech/go-eth2-wallet-nd/v2 v2.3.0 github.com/wealdtech/go-eth2-wallet-store-filesystem v1.16.1 github.com/wealdtech/go-eth2-wallet-types/v2 v2.6.0 + github.com/wercker/journalhook v0.0.0-20180428041537-5d0a5ae867b3 // indirect github.com/x-cray/logrus-prefixed-formatter v0.5.2 go.etcd.io/bbolt v1.3.4 go.opencensus.io v0.22.4 diff --git a/go.sum b/go.sum index 14dd8cc826..4cfb7aedda 100644 --- a/go.sum +++ b/go.sum @@ -145,6 +145,7 @@ github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8Nz github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d h1:t5Wuyh53qYyg9eqn4BbnlIT+vmhyww0TatL+zT3uWgI= github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= @@ -1163,6 +1164,8 @@ github.com/wealdtech/go-eth2-wallet-types/v2 v2.6.0 h1:vBrH5icPPSeb14cdShA7/P2PB github.com/wealdtech/go-eth2-wallet-types/v2 v2.6.0/go.mod h1:X9kYUH/E5YMqFMZ4xL6MJanABUkJGaH/yPZRT2o+yYA= github.com/wealdtech/go-indexer v1.0.0 h1:/S4rfWQbSOnnYmwnvuTVatDibZ8o1s9bmTCHO16XINg= github.com/wealdtech/go-indexer v1.0.0/go.mod h1:u1cjsbsOXsm5jzJDyLmZY7GsrdX8KYXKBXkZcAmk3Zg= +github.com/wercker/journalhook v0.0.0-20180428041537-5d0a5ae867b3 h1:shC1HB1UogxN5Ech3Yqaaxj1X/P656PPCB4RbojIJqc= +github.com/wercker/journalhook v0.0.0-20180428041537-5d0a5ae867b3/go.mod h1:XCsSkdKK4gwBMNrOCZWww0pX6AOt+2gYc5Z6jBRrNVg= github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 h1:EKhdznlJHPMoKr0XTrX+IlJs1LH3lyx2nfr1dOlZ79k= github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1/go.mod h1:8UvriyWtv5Q5EOgjHaSseUEdkQfvwFv1I/In/O2M9gc= github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM= diff --git a/shared/cmd/flags.go b/shared/cmd/flags.go index 374d830bb6..d423d923bc 100644 --- a/shared/cmd/flags.go +++ b/shared/cmd/flags.go @@ -167,7 +167,7 @@ var ( // LogFormat specifies the log output format. LogFormat = &cli.StringFlag{ Name: "log-format", - Usage: "Specify log formatting. Supports: text, json, fluentd.", + Usage: "Specify log formatting. Supports: text, json, fluentd, journald.", Value: "text", } // MaxGoroutines specifies the maximum amount of goroutines tolerated, before a status check fails. diff --git a/slasher/BUILD.bazel b/slasher/BUILD.bazel index 70ecb4cd2b..9f62bd01b2 100644 --- a/slasher/BUILD.bazel +++ b/slasher/BUILD.bazel @@ -24,6 +24,7 @@ go_library( "@com_github_sirupsen_logrus//:go_default_library", "@com_github_urfave_cli_v2//:go_default_library", "@com_github_urfave_cli_v2//altsrc:go_default_library", + "@com_github_wercker_journalhook//:go_default_library", "@com_github_x_cray_logrus_prefixed_formatter//:go_default_library", ], ) @@ -66,6 +67,7 @@ go_image( "@com_github_sirupsen_logrus//:go_default_library", "@com_github_urfave_cli_v2//:go_default_library", "@com_github_urfave_cli_v2//altsrc:go_default_library", + "@com_github_wercker_journalhook//:go_default_library", "@com_github_x_cray_logrus_prefixed_formatter//:go_default_library", ], ) diff --git a/slasher/main.go b/slasher/main.go index 69d71df794..3199e786d8 100644 --- a/slasher/main.go +++ b/slasher/main.go @@ -17,6 +17,7 @@ import ( "github.com/prysmaticlabs/prysm/slasher/flags" "github.com/prysmaticlabs/prysm/slasher/node" "github.com/sirupsen/logrus" + "github.com/wercker/journalhook" "github.com/urfave/cli/v2" "github.com/urfave/cli/v2/altsrc" prefixed "github.com/x-cray/logrus-prefixed-formatter" @@ -109,6 +110,8 @@ func main() { logrus.SetFormatter(joonix.NewFormatter()) case "json": logrus.SetFormatter(&logrus.JSONFormatter{}) + case "journald": + journalhook.Enable() default: return fmt.Errorf("unknown log format %s", format) } diff --git a/validator/BUILD.bazel b/validator/BUILD.bazel index 63bc390903..e50738766f 100644 --- a/validator/BUILD.bazel +++ b/validator/BUILD.bazel @@ -31,6 +31,7 @@ go_library( "@com_github_sirupsen_logrus//:go_default_library", "@com_github_urfave_cli_v2//:go_default_library", "@com_github_urfave_cli_v2//altsrc:go_default_library", + "@com_github_wercker_journalhook//:go_default_library", "@com_github_x_cray_logrus_prefixed_formatter//:go_default_library", "@org_golang_google_grpc//:go_default_library", ], @@ -60,6 +61,7 @@ go_image( "//shared/debug:go_default_library", "//shared/featureconfig:go_default_library", "//shared/logutil:go_default_library", + "//shared/maxprocs:go_default_library", "//shared/params:go_default_library", "//shared/version:go_default_library", "//validator/accounts/v1:go_default_library", @@ -72,9 +74,9 @@ go_image( "@com_github_sirupsen_logrus//:go_default_library", "@com_github_urfave_cli_v2//:go_default_library", "@com_github_urfave_cli_v2//altsrc:go_default_library", + "@com_github_wercker_journalhook//:go_default_library", "@com_github_x_cray_logrus_prefixed_formatter//:go_default_library", "@org_golang_google_grpc//:go_default_library", - "//shared/maxprocs:go_default_library", ], ) diff --git a/validator/main.go b/validator/main.go index c6c1354f1e..dc4b45cd63 100644 --- a/validator/main.go +++ b/validator/main.go @@ -27,6 +27,7 @@ import ( "github.com/prysmaticlabs/prysm/validator/flags" "github.com/prysmaticlabs/prysm/validator/node" "github.com/sirupsen/logrus" + "github.com/wercker/journalhook" "github.com/urfave/cli/v2" "github.com/urfave/cli/v2/altsrc" prefixed "github.com/x-cray/logrus-prefixed-formatter" @@ -322,6 +323,8 @@ contract in order to activate the validator client`, logrus.SetFormatter(f) case "json": logrus.SetFormatter(&logrus.JSONFormatter{}) + case "journald": + journalhook.Enable() default: return fmt.Errorf("unknown log format %s", format) }