Thanks for the suggestion.

I took a stab at adding Swift package manager support to CleanroomLogger 
<https://github.com/emaloney/CleanroomLogger>. The trickiest part was getting 
the C headers for the Apple System Log exposed as a Swift module 
<https://github.com/emaloney/AppleSystemLogSwiftPackage> so it could be 
imported by the CleanroomASL <https://github.com/emaloney/CleanroomASL> 
dependency. (The Swift Package Manager doesn't support bridging headers, which 
makes hooking up to non-Swift code a bit cumbersome. Thanks to the kind folks 
on the swift-build-dev mailing list, I got it sorted.)

I built a command line tool with 'swift build' and was able to 'import 
CleanroomLogger' by specifying a dependency like the following in a 
Package.swift file:

import PackageDescription

let package = Package(
    dependencies: [
        .Package(url: "https://github.com/emaloney/CleanroomLogger";, versions: 
Version(1,5,6) ..< Version(2,0,0))
    ]
)

With this package, I created a main.swift file:

import CleanroomLogger

Log.enable(synchronousMode: true)

Log.info?.trace()

And built & ran it from the Terminal:

   INFO | main.swift:5 — loggertest

It worked!!!

Very gratifying to see Swift package manager build something without too much 
effort.



> On Dec 9, 2015, at 3:59 PM, Gage Morgan <[email protected]> wrote:
> 
> Please port it. The PM is a bit buggy right now. It's difficult enough when 
> the thing spits errors, but even worse when you don't really have a way to 
> trace what you did. I'd attempt to use it. 
> 
> Sent from Outlook Mobile <https://aka.ms/qtex0l>
> 
> 
> 
> On Wed, Dec 9, 2015 at 12:56 PM -0800, "Max Howell via swift-users" 
> <[email protected] <mailto:[email protected]>> wrote:
> 
> Very exciting. Glad to see such projects emerge.
> 
> I hope that you’ll accept patches to make it cross-platform! And to include 
> swift package manager support.
> 
>> On Dec 9, 2015, at 12:53 PM, Evan Maloney via swift-users 
>> <[email protected] <mailto:[email protected]>> wrote:
>> 
>> Over on some of the other Swift mailing lists, people have been asking about 
>> Swift logging engines; since this list seems to be the right place to 
>> discuss them, I hope you'll indulge me in letting you know about 
>> CleanroomLogger, a real logging engine written in pure Swift:
>> 
>> https://github.com/emaloney/CleanroomLogger 
>> <https://github.com/emaloney/CleanroomLogger>
>> 
>> Why do I say it's a real logging engine? Because the other pure Swift 
>> loggers I've run across are all just wrappers around print().
>> 
>> Loggers that just call print() aren't actually sending messages to the 
>> system console; if you use these loggers and expect to read their output 
>> through Console.app, you'll be out of luck.
>> 
>> CleanroomLogger writes to the Apple System Log (ASL) facility, just like 
>> NSLog() does. But unlike NSLog(), which can bog down your app if not used 
>> judiciously, CleanroomLogger is designed to be performant, so you don't have 
>> to worry that your desire for diagnostics is going to kill your app's 
>> performance.
>> 
>> CleanroomLogger is mature enough to be shipping in 
>> significantly-revenue-generating apps, and the project now has over 500 
>> stars on GitHub. I hope you'll find it useful.
>> 
>> In the meantime, if you're interested in furthering the state of Swift 
>> logging, please reach out to me. Alex Kolov has set up a swift-logging org 
>> on GitHub to help drive Swift logging standards; community involvement 
>> desired:
>> 
>> https://github.com/swift-logging <https://github.com/swift-logging>
>> 
>> Thanks for your time,
>> E. Maloney
>> Gilt Groupe
>> 
>> 
>> _______________________________________________
>> swift-users mailing list
>> [email protected] <mailto:[email protected]>
>> https://lists.swift.org/mailman/listinfo/swift-users
> 
> 
> <Mail Attachment.txt>

_______________________________________________
swift-users mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to