logs

package module
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 17, 2026 License: BSD-3-Clause Imports: 5 Imported by: 1

README

Logs Package

Go Reference License

A simple, flexible, and thread-safe logging system for Go applications.

Features

  • Thread-safe logging with mutex protection
  • Multiple log levels (None, Debug, Info, Warn, Error, Event)
  • Customizable minimum log level
  • Colored terminal output (optional)
  • Custom timestamp formatting
  • Standard library compatibility through log.Logger adapter

Installation

go get github.com/NodePassProject/logs

Usage

Basic Usage
package main

import (
    "github.com/NodePassProject/logs"
)

func main() {
    // Create a new logger with INFO minimum level and color enabled
    logger := logs.NewLogger(logs.Info, true)

    // Create a logger that disables all log output
    silentLogger := logs.NewLogger(logs.None, true)
    silentLogger.Info("This will not be printed")

    // Log messages at different levels
    logger.Debug("This debug message won't be shown because minimum level is INFO")
    logger.Info("System started successfully")
    logger.Warn("Configuration file not found, using defaults")
    logger.Error("Failed to connect to database: %s", "connection timeout")
    logger.Event("System event: application state changed")
}
Changing Log Level at Runtime
// Create logger with INFO level
logger := logs.NewLogger(logs.Info, true)

// Later change to DEBUG level
logger.SetLogLevel(logs.Debug)

// Disable all log output
logger.SetLogLevel(logs.None)

// Get current log level
currentLevel := logger.GetLogLevel()
Disabling Colors
logger := logs.NewLogger(logs.Info, true)

// Disable colored output
logger.EnableColor(false)
Using with Standard Library
logger := logs.NewLogger(logs.Info, true)

// Get a standard library logger that uses our custom logger
stdLogger := logger.StdLogger()

// Use standard logger methods
stdLogger.Println("This message will be logged through our custom logger")
stdLogger.Printf("Formatted %s", "message")

License

Copyright (c) 2025, NodePassProject. Licensed under the BSD 3-Clause License. See the LICENSE file for details.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LogLevel

type LogLevel int
const (
	None LogLevel = iota
	Debug
	Info
	Warn
	Error
	Event
)

type Logger

type Logger struct {
	// contains filtered or unexported fields
}

func NewLogger

func NewLogger(logLevel LogLevel, enableColor bool) *Logger

func (*Logger) Debug

func (l *Logger) Debug(format string, v ...any)

func (*Logger) EnableColor

func (l *Logger) EnableColor(enable bool)

func (*Logger) Error

func (l *Logger) Error(format string, v ...any)

func (*Logger) Event added in v1.0.1

func (l *Logger) Event(format string, v ...any)

func (*Logger) GetLogLevel

func (l *Logger) GetLogLevel() LogLevel

func (*Logger) Info

func (l *Logger) Info(format string, v ...any)

func (*Logger) SetLogLevel

func (l *Logger) SetLogLevel(logLevel LogLevel)

func (*Logger) StdLogger

func (l *Logger) StdLogger() *log.Logger

func (*Logger) Warn

func (l *Logger) Warn(format string, v ...any)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL