[swift-users] CleanroomLogger, a pure Swift logging engine

Evan Maloney emaloney at gilt.com
Wed Dec 9 19:36:50 CST 2015


> On Dec 9, 2015, at 3:55 PM, Max Howell <max.howell at apple.com> 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.

Hi Max,

Being fully cross-platform is absolutely desired.

The CleanroomLogger API is designed to be platform-agnostic, although the underlying logging engine that it ships with and uses by default (CleanroomASL) relies on the Apple System Log facility, which as far as I know is limited to the four Apple platforms (iOS, Mac OS X, tvOS and watchOS).

That said, there's no reason another underlying log facility (such as one that might be Linux-compatible) couldn't be used underneath the CleanroomLogger API. I'd love for the CleanroomLogger API to be universally available on any Swift platform, and to ship with that support built-in.

Swift Package Manager support is a pre-requisite for that, because as of now CleanroomLogger only builds in Xcode. I hope to get a chance to add support shortly.

All the best,
E.


> 
>> On Dec 9, 2015, at 12:53 PM, Evan Maloney via swift-users <swift-users at swift.org <mailto:swift-users at swift.org>> 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
>> swift-users at swift.org <mailto:swift-users at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-users
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20151209/fb6ed1f1/attachment.html>


More information about the swift-users mailing list