composer: add support for logrus syslog hook

Which will be used on crc in the log forwarding setup
NeededBy: COMPOSER-1285
This commit is contained in:
Diaa Sami 2022-04-28 16:03:24 +02:00 committed by Diaa Sami
parent 631133eabb
commit 33711d7d51
5 changed files with 111 additions and 5 deletions

View file

@ -11,11 +11,12 @@ import (
)
type ComposerConfigFile struct {
Koji KojiAPIConfig `toml:"koji"`
Worker WorkerAPIConfig `toml:"worker"`
WeldrAPI WeldrAPIConfig `toml:"weldr_api"`
LogLevel string `toml:"log_level"`
LogFormat string `toml:"log_format"`
Koji KojiAPIConfig `toml:"koji"`
Worker WorkerAPIConfig `toml:"worker"`
WeldrAPI WeldrAPIConfig `toml:"weldr_api"`
SyslogServer string `toml:"syslog_server" env:"SYSLOG_SERVER"`
LogLevel string `toml:"log_level"`
LogFormat string `toml:"log_format"`
}
type KojiAPIConfig struct {

View file

@ -6,6 +6,7 @@ import (
"github.com/coreos/go-systemd/activation"
"github.com/sirupsen/logrus"
"github.com/sirupsen/logrus/hooks/syslog"
)
const (
@ -69,6 +70,15 @@ func main() {
logrus.Fatal("CACHE_DIRECTORY is not set. Is the service file missing CacheDirectory=?")
}
if len(config.SyslogServer) > 0 {
hook, err := syslog.NewSyslogHook("tcp", config.SyslogServer, 0, "osbuild-composer")
if err != nil {
logrus.Fatal("Error connecting to syslog: " + err.Error())
}
logrus.AddHook(hook)
}
composer, err := NewComposer(config, stateDir, cacheDir)
if err != nil {
logrus.Fatalf("%v", err)