<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Thanks for the suggestion.</div><div class=""><br class=""></div><div class="">I took a stab at adding Swift package manager support to&nbsp;<a href="https://github.com/emaloney/CleanroomLogger" class="">CleanroomLogger</a>. The trickiest part was getting the C headers for the&nbsp;<a href="https://github.com/emaloney/AppleSystemLogSwiftPackage" class="">Apple System Log exposed as a Swift module</a>&nbsp;so it could be imported by the&nbsp;<a href="https://github.com/emaloney/CleanroomASL" class="">CleanroomASL</a>&nbsp;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.)</div><div class=""><br class=""></div><div class="">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:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; line-height: normal; font-family: 'Input Mono'; color: rgb(41, 249, 20); background-color: rgb(0, 0, 0);" class="">import PackageDescription</div><div style="margin: 0px; line-height: normal; font-family: 'Input Mono'; color: rgb(41, 249, 20); background-color: rgb(0, 0, 0); min-height: 20px;" class=""><br class=""></div><div style="margin: 0px; line-height: normal; font-family: 'Input Mono'; color: rgb(41, 249, 20); background-color: rgb(0, 0, 0);" class="">let package = Package(</div><div style="margin: 0px; line-height: normal; font-family: 'Input Mono'; color: rgb(41, 249, 20); background-color: rgb(0, 0, 0);" class="">&nbsp; &nbsp; dependencies: [</div><div style="margin: 0px; line-height: normal; font-family: 'Input Mono'; color: rgb(41, 249, 20); background-color: rgb(0, 0, 0);" class="">&nbsp; &nbsp; &nbsp; &nbsp; .Package(url: "<a href="https://github.com/emaloney/CleanroomLogger" class="">https://github.com/emaloney/CleanroomLogger</a>", versions: Version(1,5,6) ..&lt; Version(2,0,0))</div><div style="margin: 0px; line-height: normal; font-family: 'Input Mono'; color: rgb(41, 249, 20); background-color: rgb(0, 0, 0);" class="">&nbsp; &nbsp; ]</div><div style="margin: 0px; line-height: normal; font-family: 'Input Mono'; color: rgb(41, 249, 20); background-color: rgb(0, 0, 0);" class="">)</div></div><div class=""><br class=""></div><div class="">With this package, I created a main.swift file:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; line-height: normal; font-family: 'Input Mono'; color: rgb(41, 249, 20); background-color: rgb(0, 0, 0);" class="">import CleanroomLogger</div><div style="margin: 0px; line-height: normal; font-family: 'Input Mono'; color: rgb(41, 249, 20); background-color: rgb(0, 0, 0); min-height: 20px;" class=""><br class=""></div><div style="margin: 0px; line-height: normal; font-family: 'Input Mono'; color: rgb(41, 249, 20); background-color: rgb(0, 0, 0);" class="">Log.enable(synchronousMode: true)</div><div style="margin: 0px; line-height: normal; font-family: 'Input Mono'; color: rgb(41, 249, 20); background-color: rgb(0, 0, 0); min-height: 20px;" class=""><br class=""></div><div style="margin: 0px; line-height: normal; font-family: 'Input Mono'; color: rgb(41, 249, 20); background-color: rgb(0, 0, 0);" class=""><a href="http://log.info" class="">Log.info</a>?.trace()</div><div class=""><br class=""></div></div><div class="">And built &amp; ran it from the Terminal:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; line-height: normal; font-family: 'Input Mono'; color: rgb(41, 249, 20); background-color: rgb(0, 0, 0);" class="">&nbsp; &nbsp;INFO | main.swift:5 — loggertest</div><div class=""><br class=""></div></div><div class="">It worked!!!</div><div class=""><br class=""></div><div class="">Very gratifying to see Swift package manager build something without too much effort.</div><div class=""><br class=""></div><div class=""><br class=""></div><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 9, 2015, at 3:59 PM, Gage Morgan &lt;<a href="mailto:gagemorgan@outlook.com" class="">gagemorgan@outlook.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class="">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" class="">

<div class="">
<div class="">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.&nbsp;<br class="">
<br class="">
<div class="acompli_signature">Sent from <a href="https://aka.ms/qtex0l" class="">Outlook Mobile</a></div>
<br class="">
</div>
<br class="">
<br class="">
<br class="">
<div class="gmail_quote">On Wed, Dec 9, 2015 at 12:56 PM -0800, "Max Howell via swift-users"
<span dir="ltr" class="">&lt;<a href="mailto:swift-users@swift.org" target="_blank" class="">swift-users@swift.org</a>&gt;</span> wrote:<br class="">
<br class="">
</div>
<div style="word-wrap:break-word" class="">Very exciting. Glad to see such projects emerge.
<div class=""><br class="">
</div>
<div class="">I hope that you’ll accept patches to make it cross-platform! And to include swift package manager support.</div>
<div class=""><br class="">
<div class="">
<blockquote type="cite" class="">
<div class="">On Dec 9, 2015, at 12:53 PM, Evan Maloney via swift-users &lt;<a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a>&gt; wrote:</div>
<br class="x_Apple-interchange-newline">
<div class="">
<div style="word-wrap:break-word" class="">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 <i class="">real</i>&nbsp;logging engine written in pure Swift:
<div class=""><br class="">
</div>
<div class=""><a href="https://github.com/emaloney/CleanroomLogger" class="">https://github.com/emaloney/CleanroomLogger</a></div>
<div class=""><br class="">
</div>
<div class="">Why do I say it's a <i class="">real</i>&nbsp;logging engine? Because the other pure Swift loggers I've run across are all just wrappers around print().</div>
<div class=""><br class="">
</div>
<div class="">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.</div>
<div class=""><br class="">
</div>
<div class="">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
<i class="">performant</i>, so you don't have to worry that your desire for diagnostics is going to kill your app's performance.</div>
<div class=""><br class="">
</div>
<div class="">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.</div>
<div class=""><br class="">
</div>
<div class="">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:</div>
<div class=""><br class="">
</div>
<div class=""><a href="https://github.com/swift-logging" class="">https://github.com/swift-logging</a></div>
<div class=""><br class="">
</div>
<div class="">Thanks for your time,</div>
<div class="">E. Maloney</div>
<div class="">Gilt Groupe</div>
<div class=""><br class="">
</div>
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=cbMbdH1LnH6O78Q-2BHw3jtU8ikibH470Fh9meAJKpwSplhmSvRT45I-2FhH3OqSg73dShX6jg-2Be1-2FKOuBJrvDjwLqLJx5uudXI6F0vXFen8oDkYPb4e2ovSjlf3XyI-2BBOCXV42z76g4MWeozm0OquL9l72TgSoUYOaRY6xgujrZzZRD5T8VfS-2BZCfYnKgI53hGbKu2wOuzJ6sqVKy6yMN2F23Bmsie-2BBVpsbgJDTgMnPOA-3D" alt="" width="1" height="1" border="0" style="height:1px!important; width:1px!important; border-width:0!important; margin-top:0!important; margin-bottom:0!important; margin-right:0!important; margin-left:0!important; padding-top:0!important; padding-bottom:0!important; padding-right:0!important; padding-left:0!important" class="">
</div>
_______________________________________________<br class="">
swift-users mailing list<br class="">
<a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-users" class="">https://lists.swift.org/mailman/listinfo/swift-users</a><br class="">
</div>
</blockquote>
</div>
<br class="">
</div>
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=-2FcgwiRAxmHDdptrhrsAJKMBtNqQpWV-2BwUfjpvH9AIar518ngHHgH-2B3c5WAbbfW8Cit6pbktuiYelGgsUIBdT9wLziF2ig642ju0rN-2BKczMJcJLaEGw7HmUZd-2FN7WW5JNure3ROcJpPaSmM6GHSRByMBpWbtgF0TvVznnoHAOpA-2BLARPyRVhKadoHqPWefRQSClPG0taKDG5N6Xpdw1J1NkQuAk0x58sTTs0rZS1-2F0aM-3D" alt="" width="1" height="1" border="0" style="height:1px!important; width:1px!important; border-width:0!important; margin-top:0!important; margin-bottom:0!important; margin-right:0!important; margin-left:0!important; padding-top:0!important; padding-bottom:0!important; padding-right:0!important; padding-left:0!important" class="">
</div>
</div>

<span id="cid:C08F9AD7-CE83-40AF-8E53-7CFD3176ED61@cable.rcn.com">&lt;Mail Attachment.txt&gt;</span></div></blockquote></div><br class=""></body></html>