Skip to content

Commit bd0cc69

Browse files
Review fatalf log calls and messages
1 parent 84fffac commit bd0cc69

File tree

9 files changed

+25
-32
lines changed

9 files changed

+25
-32
lines changed

cmd/cc-backend/server.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func serverInit() {
6464
case string:
6565
return fmt.Errorf("MAIN > Panic: %s", e)
6666
case error:
67-
return fmt.Errorf("MAIN > Panic caused by: %w", e)
67+
return fmt.Errorf("MAIN > Panic caused by: %s", e.Error())
6868
}
6969

7070
return errors.New("MAIN > Internal server error (panic)")
@@ -268,7 +268,7 @@ func serverStart() {
268268
// Start http or https server
269269
listener, err := net.Listen("tcp", config.Keys.Addr)
270270
if err != nil {
271-
log.Fatalf("starting http listener failed: %v", err)
271+
log.Abortf("Server Start: Starting http listener on '%s' failed.\nError: %s\n", config.Keys.Addr, err.Error())
272272
}
273273

274274
if !strings.HasSuffix(config.Keys.Addr, ":80") && config.Keys.RedirectHttpTo != "" {
@@ -281,7 +281,7 @@ func serverStart() {
281281
cert, err := tls.LoadX509KeyPair(
282282
config.Keys.HttpsCertFile, config.Keys.HttpsKeyFile)
283283
if err != nil {
284-
log.Fatalf("loading X509 keypair failed: %v", err)
284+
log.Abortf("Server Start: Loading X509 keypair failed. Check options 'https-cert-file' and 'https-key-file' in 'config.json'.\nError: %s\n", err.Error())
285285
}
286286
listener = tls.NewListener(listener, &tls.Config{
287287
Certificates: []tls.Certificate{cert},
@@ -292,20 +292,20 @@ func serverStart() {
292292
MinVersion: tls.VersionTLS12,
293293
PreferServerCipherSuites: true,
294294
})
295-
fmt.Printf("HTTPS server listening at %s...", config.Keys.Addr)
295+
log.Printf("HTTPS server listening at %s...\n", config.Keys.Addr)
296296
} else {
297-
fmt.Printf("HTTP server listening at %s...", config.Keys.Addr)
297+
log.Printf("HTTP server listening at %s...\n", config.Keys.Addr)
298298
}
299299
//
300300
// Because this program will want to bind to a privileged port (like 80), the listener must
301301
// be established first, then the user can be changed, and after that,
302302
// the actual http server can be started.
303303
if err := runtimeEnv.DropPrivileges(config.Keys.Group, config.Keys.User); err != nil {
304-
log.Fatalf("error while preparing server start: %s", err.Error())
304+
log.Abortf("Server Start: Error while preparing server start.\nError: %s\n", err.Error())
305305
}
306306

307307
if err = server.Serve(listener); err != nil && err != http.ErrServerClosed {
308-
log.Fatalf("starting server failed: %v", err)
308+
log.Abortf("Server Start: Starting server failed.\nError: %s\n", err.Error())
309309
}
310310
}
311311

internal/api/rest.go

-2
Original file line numberDiff line numberDiff line change
@@ -1423,8 +1423,6 @@ func (api *RestApi) updateConfiguration(rw http.ResponseWriter, r *http.Request)
14231423
rw.Header().Set("Content-Type", "text/plain")
14241424
key, value := r.FormValue("key"), r.FormValue("value")
14251425

1426-
// fmt.Printf("REST > KEY: %#v\nVALUE: %#v\n", key, value)
1427-
14281426
if err := repository.GetUserCfgRepo().UpdateConfig(key, value, repository.GetUserFromContext(r.Context())); err != nil {
14291427
http.Error(rw, err.Error(), http.StatusUnprocessableEntity)
14301428
return

internal/config/config.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ package config
77
import (
88
"bytes"
99
"encoding/json"
10-
"log"
1110
"os"
1211

12+
"github.com/ClusterCockpit/cc-backend/pkg/log"
1313
"github.com/ClusterCockpit/cc-backend/pkg/schema"
1414
)
1515

@@ -53,20 +53,20 @@ func Init(flagConfigFile string) {
5353
raw, err := os.ReadFile(flagConfigFile)
5454
if err != nil {
5555
if !os.IsNotExist(err) {
56-
log.Fatalf("CONFIG ERROR: %v", err)
56+
log.Abortf("Config Init: Could not read config file '%s'.\nError: %s\n", flagConfigFile, err.Error())
5757
}
5858
} else {
5959
if err := schema.Validate(schema.Config, bytes.NewReader(raw)); err != nil {
60-
log.Fatalf("Validate config: %v\n", err)
60+
log.Abortf("Config Init: Could not validate config file '%s'.\nError: %s\n", flagConfigFile, err.Error())
6161
}
6262
dec := json.NewDecoder(bytes.NewReader(raw))
6363
dec.DisallowUnknownFields()
6464
if err := dec.Decode(&Keys); err != nil {
65-
log.Fatalf("could not decode: %v", err)
65+
log.Abortf("Config Init: Could not decode config file '%s'.\nError: %s\n", flagConfigFile, err.Error())
6666
}
6767

6868
if Keys.Clusters == nil || len(Keys.Clusters) < 1 {
69-
log.Fatal("At least one cluster required in config!")
69+
log.Abort("Config Init: At least one cluster required in config. Exited with error.")
7070
}
7171
}
7272
}

internal/repository/dbConnection.go

+6-8
Original file line numberDiff line numberDiff line change
@@ -59,17 +59,15 @@ func Connect(driver string, db string) {
5959
} else {
6060
dbHandle, err = sqlx.Open("sqlite3", opts.URL)
6161
}
62-
if err != nil {
63-
log.Fatal(err)
64-
}
6562
case "mysql":
6663
opts.URL += "?multiStatements=true"
6764
dbHandle, err = sqlx.Open("mysql", opts.URL)
68-
if err != nil {
69-
log.Fatalf("sqlx.Open() error: %v", err)
70-
}
7165
default:
72-
log.Fatalf("unsupported database driver: %s", driver)
66+
log.Abortf("DB Connection: Unsupported database driver '%s'.\n", driver)
67+
}
68+
69+
if err != nil {
70+
log.Abortf("DB Connection: Could not connect to '%s' database with sqlx.Open().\nError: %s\n", driver, err.Error())
7371
}
7472

7573
dbHandle.SetMaxOpenConns(opts.MaxOpenConnections)
@@ -80,7 +78,7 @@ func Connect(driver string, db string) {
8078
dbConnInstance = &DBConnection{DB: dbHandle, Driver: driver}
8179
err = checkDBVersion(driver, dbHandle.DB)
8280
if err != nil {
83-
log.Fatal(err)
81+
log.Abortf("DB Connection: Failed DB version check.\nError: %s\n", err.Error())
8482
}
8583
})
8684
}

internal/repository/migration.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ func checkDBVersion(backend string, db *sql.DB) error {
5454
return err
5555
}
5656
default:
57-
log.Fatalf("unsupported database backend: %s", backend)
57+
log.Abortf("Migration: Unsupported database backend '%s'.\n", backend)
5858
}
5959

6060
v, dirty, err := m.Version()
@@ -102,7 +102,7 @@ func getMigrateInstance(backend string, db string) (m *migrate.Migrate, err erro
102102
return m, err
103103
}
104104
default:
105-
log.Fatalf("unsupported database backend: %s", backend)
105+
log.Abortf("Migration: Unsupported database backend '%s'.\n", backend)
106106
}
107107

108108
return m, nil

internal/repository/userConfig.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func GetUserCfgRepo() *UserCfgRepo {
3535

3636
lookupConfigStmt, err := db.DB.Preparex(`SELECT confkey, value FROM configuration WHERE configuration.username = ?`)
3737
if err != nil {
38-
log.Fatalf("db.DB.Preparex() error: %v", err)
38+
log.Fatalf("User Config: Call 'db.DB.Preparex()' failed.\nError: %s\n", err.Error())
3939
}
4040

4141
userCfgRepoInstance = &UserCfgRepo{

internal/taskManager/taskManager.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func Start() {
4040
jobRepo = repository.GetJobRepository()
4141
s, err = gocron.NewScheduler()
4242
if err != nil {
43-
log.Fatalf("Error while creating gocron scheduler: %s", err.Error())
43+
log.Abortf("Taskmanager Start: Could not create gocron scheduler.\nError: %s\n", err.Error())
4444
}
4545

4646
if config.Keys.StopJobsExceedingWalltime > 0 {

tools/archive-manager/main.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ func parseDate(in string) int64 {
2222
if in != "" {
2323
t, err := time.ParseInLocation(shortForm, in, loc)
2424
if err != nil {
25-
fmt.Printf("date parse error %v", err)
26-
os.Exit(0)
25+
log.Abortf("Archive Manager Main: Date parse failed with input: '%s'\nError: %s\n", in, err.Error())
2726
}
2827
return t.Unix()
2928
}

web/web.go

+2-4
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ var frontendFiles embed.FS
2626
func ServeFiles() http.Handler {
2727
publicFiles, err := fs.Sub(frontendFiles, "frontend/public")
2828
if err != nil {
29-
log.Fatalf("WEB/WEB > cannot find frontend public files")
30-
panic(err)
29+
log.Abortf("Serve Files: Could not find 'frontend/public' file directory.\nError: %s\n", err.Error())
3130
}
3231
return http.FileServer(http.FS(publicFiles))
3332
}
@@ -75,8 +74,7 @@ func init() {
7574
templates[strings.TrimPrefix(path, "templates/")] = template.Must(template.Must(base.Clone()).ParseFS(templateFiles, path))
7675
return nil
7776
}); err != nil {
78-
log.Fatalf("WEB/WEB > cannot find frontend template files")
79-
panic(err)
77+
log.Abortf("Web init(): Could not find frontend template files.\nError: %s\n", err.Error())
8078
}
8179

8280
_ = base

0 commit comments

Comments
 (0)