Logging system for Swift/Vapor. Official https://github.com/apple/swift-log package should be used instead, this package is deprecated.
import SwiftBoxLoggingLogging should be bootstrapped before use (it defaults to PrintLogger).
Bootstrap requires one parameter which is the logger factory.
Logger factory must return Logger from Console/Logging package.
Logging.bootstrap({ name in Logger2(name) })Create a logger instance:
fileprivate var logger = Logging.make(#file)Log a message:
logger.verbose("verbose")
logger.debug("debug")
logger.info("info")
logger.warning("warning")
logger.error("error")
logger.fatal("fatal")To create custom loggers your class must conform to Logger protocol from Console/Logging package.
You can use same logging in Vapor and logging package:
private func configureLogging(_ config: inout Config, _ env: inout Environment, _ services: inout Services) {
/// Register Logger2
services.register(Logger2.self)
switch env {
case .production:
config.prefer(Logger2.self, for: Logger.self)
Logging.bootstrap({ name in Logger2(name) })
default:
config.prefer(PrintLogger.self, for: Logger.self)
Logging.bootstrap({ _ in PrintLogger() })
}
}