feat: 環境変数でログレベルとログフォーマットを変更できるように
docker-ci / docker (push) Successful in 1m3s Details

This commit is contained in:
usbharu 2025-04-25 10:13:23 +09:00
parent 78009e495d
commit b94aa5e9aa
Signed by: usbharu
GPG Key ID: 8CB1087135660B8D
1 changed files with 30 additions and 8 deletions

38
main.go
View File

@ -1,13 +1,13 @@
package main package main
import ( import (
"fmt"
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp" "github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
"github.com/yitsushi/go-misskey" "github.com/yitsushi/go-misskey"
"net/http" "net/http"
"os" "os"
"strings"
) )
//TIP <p>To run your code, right-click the code and select <b>Run</b>.</p> <p>Alternatively, click //TIP <p>To run your code, right-click the code and select <b>Run</b>.</p> <p>Alternatively, click
@ -20,6 +20,8 @@ var endpoint = os.Getenv("MISSKEY_ENDPOINT")
var protocol, hasProtocolEnv = os.LookupEnv("MISSKEY_PROTOCOL") var protocol, hasProtocolEnv = os.LookupEnv("MISSKEY_PROTOCOL")
var path = os.Getenv("MISSKEY_PATH") var path = os.Getenv("MISSKEY_PATH")
var apiKey = os.Getenv("MISSKEY_API_TOKEN") var apiKey = os.Getenv("MISSKEY_API_TOKEN")
var logLevelEnv = os.Getenv("LOGGER_LEVEL")
var logFormatEnv = os.Getenv("LOGGER_FORMAT")
var ( var (
misskeyJobQueueJobsCount = prometheus.NewGaugeVec( misskeyJobQueueJobsCount = prometheus.NewGaugeVec(
@ -177,19 +179,39 @@ func main() {
options, err := misskey.NewClientWithOptions( options, err := misskey.NewClientWithOptions(
misskey.WithAPIToken(apiKey), misskey.WithAPIToken(apiKey),
misskey.WithBaseURL(protocol, endpoint, path), misskey.WithBaseURL(protocol, endpoint, path),
misskey.WithLogLevel(logrus.InfoLevel),
) )
var logLevel logrus.Level
switch {
case strings.EqualFold("DEBUG", logLevelEnv):
logLevel = logrus.DebugLevel
break
case strings.EqualFold("INFO", logLevelEnv):
logLevel = logrus.InfoLevel
break
case strings.EqualFold("WARN", logLevelEnv):
logLevel = logrus.WarnLevel
break
case strings.EqualFold("ERROR", logLevelEnv):
logLevel = logrus.ErrorLevel
break
case strings.EqualFold("FATAL", logLevelEnv):
logLevel = logrus.FatalLevel
break
case strings.EqualFold("TRACE", logLevelEnv):
logLevel = logrus.TraceLevel
break
default:
logLevel = logrus.InfoLevel
}
if strings.EqualFold("json", logFormatEnv) {
logrus.SetFormatter(&logrus.JSONFormatter{})
}
logrus.SetLevel(logLevel)
client = options client = options
if err != nil { if err != nil {
logrus.Error(err) logrus.Error(err)
return return
} }
stats, err := client.Admin().Queue().Stats()
if err != nil {
logrus.Error(err)
return
}
fmt.Println(stats)
prometheus.MustRegister(misskeyJobQueueJobsCount) prometheus.MustRegister(misskeyJobQueueJobsCount)
prometheus.MustRegister(misskeyJobQueueDelayed) prometheus.MustRegister(misskeyJobQueueDelayed)