SwiftCustomLogger

1.1.1

nerzh/swift-custom-logger

What's New

2025-04-18T15:11:10Z
import SwiftCustomLogger
import Logging

func setupLogger(label: String = "", level: Logger.Level? = nil) -> Logger {
    var level: Logger.Level! = level
    if level == nil {
        #if DEBUG
        level = .debug
        #else
        level = .warning
        #endif
    }
    
    var log = Logger(label: label) { label in
        return CustomHandler(
            formatter: BasicFormatter([
                .text({ level in
                    switch level {
                    case .trace: return "💾"
                    case .debug: return "🛠️"
                    case .info: return "📟"
                    case .notice: return ""
                    case .warning: return "⚠️"
                    case .error: return "🐞"
                    case .critical: return ""
                    }
                }),
                .text({ level in "[\(level)]".uppercased() }),
                .text({ _ in label }),
                .file,
                .line,
                .text({ _ in ":" }),
                .message
            ],
            separator: " "),
            printer: LoggerPrinter.standardOutput
        )
    }
    log.logLevel = level
    
    return log
}

Description

  • Swift Tools 5.9.0
View More Packages from this Author

Dependencies

Last updated: Sat May 17 2025 04:31:41 GMT-0900 (Hawaii-Aleutian Daylight Time)