mirror of
https://github.com/pikami/cosmium.git
synced 2025-05-05 16:03:09 +01:00
Handle server close; Update logger
This commit is contained in:
parent
8b8b087aab
commit
96d3a0a7ae
@ -103,7 +103,7 @@ func (s *ApiServer) Start() {
|
|||||||
if s.config.DisableTls {
|
if s.config.DisableTls {
|
||||||
logger.Infof("Listening and serving HTTP on %s\n", server.Addr)
|
logger.Infof("Listening and serving HTTP on %s\n", server.Addr)
|
||||||
err := server.ListenAndServe()
|
err := server.ListenAndServe()
|
||||||
if err != nil {
|
if err != nil && err != http.ErrServerClosed {
|
||||||
logger.ErrorLn("Failed to start HTTP server:", err)
|
logger.ErrorLn("Failed to start HTTP server:", err)
|
||||||
}
|
}
|
||||||
s.isActive = false
|
s.isActive = false
|
||||||
@ -112,7 +112,7 @@ func (s *ApiServer) Start() {
|
|||||||
err := server.ListenAndServeTLS(
|
err := server.ListenAndServeTLS(
|
||||||
s.config.TLS_CertificatePath,
|
s.config.TLS_CertificatePath,
|
||||||
s.config.TLS_CertificateKey)
|
s.config.TLS_CertificateKey)
|
||||||
if err != nil {
|
if err != nil && err != http.ErrServerClosed {
|
||||||
logger.ErrorLn("Failed to start HTTPS server:", err)
|
logger.ErrorLn("Failed to start HTTPS server:", err)
|
||||||
}
|
}
|
||||||
s.isActive = false
|
s.isActive = false
|
||||||
@ -122,7 +122,7 @@ func (s *ApiServer) Start() {
|
|||||||
|
|
||||||
logger.Infof("Listening and serving HTTPS on %s\n", server.Addr)
|
logger.Infof("Listening and serving HTTPS on %s\n", server.Addr)
|
||||||
err := server.ListenAndServeTLS("", "")
|
err := server.ListenAndServeTLS("", "")
|
||||||
if err != nil {
|
if err != nil && err != http.ErrServerClosed {
|
||||||
logger.ErrorLn("Failed to start HTTPS server:", err)
|
logger.ErrorLn("Failed to start HTTPS server:", err)
|
||||||
}
|
}
|
||||||
s.isActive = false
|
s.isActive = false
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
package logger
|
package logger
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
"runtime"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
type LogLevelType int
|
type LogLevelType int
|
||||||
@ -20,25 +23,28 @@ type LogWriter struct {
|
|||||||
|
|
||||||
var LogLevel = LogLevelInfo
|
var LogLevel = LogLevelInfo
|
||||||
|
|
||||||
var DebugLogger = log.New(os.Stdout, "", log.Ldate|log.Ltime|log.Lshortfile)
|
var DebugLogger = log.New(os.Stdout, "", log.Ldate|log.Ltime)
|
||||||
var InfoLogger = log.New(os.Stdout, "", log.Ldate|log.Ltime)
|
var InfoLogger = log.New(os.Stdout, "", log.Ldate|log.Ltime)
|
||||||
var ErrorLogger = log.New(os.Stderr, "", log.Ldate|log.Ltime|log.Lshortfile)
|
var ErrorLogger = log.New(os.Stderr, "", log.Ldate|log.Ltime)
|
||||||
|
|
||||||
func DebugLn(v ...any) {
|
func DebugLn(v ...any) {
|
||||||
if LogLevel <= LogLevelDebug {
|
if LogLevel <= LogLevelDebug {
|
||||||
DebugLogger.Println(v...)
|
prefix := getCallerPrefix()
|
||||||
|
DebugLogger.Println(append([]interface{}{prefix}, v...)...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func Debug(v ...any) {
|
func Debug(v ...any) {
|
||||||
if LogLevel <= LogLevelDebug {
|
if LogLevel <= LogLevelDebug {
|
||||||
DebugLogger.Print(v...)
|
prefix := getCallerPrefix()
|
||||||
|
DebugLogger.Println(append([]interface{}{prefix}, v...)...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func Debugf(format string, v ...any) {
|
func Debugf(format string, v ...any) {
|
||||||
if LogLevel <= LogLevelDebug {
|
if LogLevel <= LogLevelDebug {
|
||||||
DebugLogger.Printf(format, v...)
|
prefix := getCallerPrefix()
|
||||||
|
DebugLogger.Printf(prefix+format, v...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -62,19 +68,22 @@ func Infof(format string, v ...any) {
|
|||||||
|
|
||||||
func ErrorLn(v ...any) {
|
func ErrorLn(v ...any) {
|
||||||
if LogLevel <= LogLevelError {
|
if LogLevel <= LogLevelError {
|
||||||
ErrorLogger.Println(v...)
|
prefix := getCallerPrefix()
|
||||||
|
ErrorLogger.Println(append([]interface{}{prefix}, v...)...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func Error(v ...any) {
|
func Error(v ...any) {
|
||||||
if LogLevel <= LogLevelError {
|
if LogLevel <= LogLevelError {
|
||||||
ErrorLogger.Print(v...)
|
prefix := getCallerPrefix()
|
||||||
|
ErrorLogger.Print(append([]interface{}{prefix}, v...)...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func Errorf(format string, v ...any) {
|
func Errorf(format string, v ...any) {
|
||||||
if LogLevel <= LogLevelError {
|
if LogLevel <= LogLevelError {
|
||||||
ErrorLogger.Printf(format, v...)
|
prefix := getCallerPrefix()
|
||||||
|
ErrorLogger.Printf(prefix+format, v...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,3 +111,14 @@ func InfoWriter() *LogWriter {
|
|||||||
func DebugWriter() *LogWriter {
|
func DebugWriter() *LogWriter {
|
||||||
return &LogWriter{WriterLevel: LogLevelDebug}
|
return &LogWriter{WriterLevel: LogLevelDebug}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getCallerPrefix() string {
|
||||||
|
_, file, line, ok := runtime.Caller(2)
|
||||||
|
if ok {
|
||||||
|
parts := strings.Split(file, "/")
|
||||||
|
file = parts[len(parts)-1]
|
||||||
|
return fmt.Sprintf("%s:%d - ", file, line)
|
||||||
|
}
|
||||||
|
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
@ -42,7 +42,7 @@ int test_ServerInstanceStateMethods()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *expected_state = "{\"databases\":{\"test-db\":{\"id\":\"test-db\",\"_ts\":0,\"_rid\":\"\",\"_etag\":\"\",\"_self\":\"\"}},\"collections\":{\"test-db\":{}},\"documents\":{\"test-db\":{}}}";
|
const char *expected_state = "{\"databases\":{\"test-db\":{\"id\":\"test-db\",\"_ts\":0,\"_rid\":\"\",\"_etag\":\"\",\"_self\":\"\"}},\"collections\":{\"test-db\":{}},\"documents\":{\"test-db\":{}},\"triggers\":{\"test-db\":{}},\"sprocs\":{\"test-db\":{}},\"udfs\":{\"test-db\":{}}}";
|
||||||
char *compact_state = compact_json(state);
|
char *compact_state = compact_json(state);
|
||||||
if (!compact_state)
|
if (!compact_state)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user