From 908b7235352767e5ca2bb620e0c2bef584b724ec Mon Sep 17 00:00:00 2001 From: David Jones Date: Mon, 10 Jun 2019 10:30:37 +0100 Subject: [PATCH 1/2] Update README to document swiftLogger --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 3641c7a..1a2f6d0 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,21 @@ Log.logger = ... You can write your own logger implementation. In the case of Kitura, it defines `HeliumLogger` as the logger used by `LoggerAPI`. You can find out more about HeliumLogger [here](https://github.com/IBM-Swift/HeliumLogger/blob/master/README.md). +#### Logging messages to swift-log + +You can direct your log messages to be logged via [swift-log](https://github.com/apple/swift-log) by setting the `swiftLogger` property: +```swift +import LoggerAPI +import Logging + +let myLogger = Logging.Logger(label: "myLogger") +myLogger.logLevel = .notice +Log.swiftLogger = myLogger +``` +If both `logger` and `swiftLogger` are set, then log messages will be sent to both logging backends. The log level configured for a LoggerAPI Logger and a swift-log Logger are independent, so may be used to log at different levels. + +Note that because the heirarchy of log levels defined by LoggerAPI and swift-log is slightly different, a mapping is defined between the levels. See the documentation for `Log.isLogging()` for details. + ## API documentation For more information visit our [API reference](http://ibm-swift.github.io/LoggerAPI/). From 575a68f40b80966ae9dd3f2c1313ff001faadc95 Mon Sep 17 00:00:00 2001 From: David Jones Date: Mon, 10 Jun 2019 10:44:13 +0100 Subject: [PATCH 2/2] Improve example for defining logger --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1a2f6d0..3e9343f 100644 --- a/README.md +++ b/README.md @@ -56,12 +56,15 @@ Log.error("This is an error.") #### Define a logger -You need to define a `logger` in order to output these messages: +You need to define a `logger` in order to output these messages. You may wish to write your own `Logger` implementation, or you can use `HeliumLogger` that writes to standard output: ```swift -Log.logger = ... +import LoggerAPI +import HeliumLogger + +let myLogger = HeliumLogger(.info) +Log.logger = myLogger ``` -You can write your own logger implementation. In the case of Kitura, it defines -`HeliumLogger` as the logger used by `LoggerAPI`. You can find out more about HeliumLogger [here](https://github.com/IBM-Swift/HeliumLogger/blob/master/README.md). +You can find out more about HeliumLogger [here](https://github.com/IBM-Swift/HeliumLogger/blob/master/README.md). #### Logging messages to swift-log