<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
Hi Dario,
<div><br>
</div>
<div>comments inlined ...</div>
<div><br>
</div>
<div><br>
<div>
<div>Am 25.09.2012 um 17:07 schrieb Dario Garcia:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite"><span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">Hi everyone,</span>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><br>
</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">This is my first post, I apologize if not conforming to the etiquette of this list (point me in the right direction in that case).</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><br>
</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">My name is Darío García, I'm an Android developer using SLF4J Android.</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">I have a little suggestion for SLF4J Android that will make my life easier, and hopefully other users too.</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><br>
</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">The context:</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">My android application use several libs that output log statements using slf4j.</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">As far as I know there's no way to tell the Android SLF4J binding which loggers should be silent and which should be outputed (as oposed to logback's configuration xml).</div>
</blockquote>
<div><br>
</div>
<div>One can control this via the facilities provided by android.util.Log, because the binding that is part of slf4j-andoird simply delegates all log calls to this class. Have a look at its documentation [1]. The relevant part is explained in the section on
 the method isLoggable(...). In short, you have to set a system property for each tag that you want to configure (yes, it's not that convenient if it has to be done for many different tags).</div>
<br>
<blockquote type="cite">
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">That means that when I set debug as the current level, I get mixed statements from my code, and from those libraries in the log and is difficult to read.</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">Also there's a performance penalty due to all the logging.</div>
</blockquote>
<blockquote type="cite">
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><br>
</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">Suggestion 1:</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">Is there any chance that you will be adding the possibility to configure each logger as logback does?</div>
</blockquote>
<div>No. If you want full flexibility then I recommend using logback-android instead (as indicated by another e-mail in this thread). The idea of slf4j-android is to provide means to delegate log requests issued via the SLF4J API to the Android logging facilities.
 The intention was not to provide a fully fledged logging solution (rather a quick and simple way to integrate SLF4J with the Android logging framework, to be used mainly at development time rather than in production).</div>
<br>
<blockquote type="cite">
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">I could mute the libraries and only output my own code to android logcat.</div>
</blockquote>
<blockquote type="cite">
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><br>
</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">Alternate suggestion 2:</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">Is there any chance to separate the SLF4J api, and the android binding?</div>
</blockquote>
<div><br>
</div>
<div>I was pondering about this question several times already. At the moment, I don't see a clean solution. The main reason is that the build process on the Android platform differs from "normal" platforms in the fact that there is an additional step - the
 Dexer (that optimizes the bytecode). Because of this, the static binding used by SLF4J does no longer work and would have to be replaced either by a dynamic binding at runtime or, which is what is done currently in slf4j-android, by providing the binding at
 build time (in order to get the Dexer happy).</div>
<br>
<blockquote type="cite">
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">In that way I could use a Null Binding for those libraries so I don't see them in the logs. </div>
</blockquote>
<div><br>
</div>
A similar thing is planned for the next release. There is a noop binding ready for the next release. If used then any log request becomes a noop. This is not exactly what you are requesting, but experience shows that one often wants logging at development time,
 while at production time one rather aims at performance. The idea is to decide at build time whether the standard binding (that delegates to android.util.Log) or the noop binding is to be used, by generating two different JARs. An application can then switch
 between these two versions at build time (e.g., if Maven is used then one could create two profiles - debug and release).</div>
<div><br>
</div>
<div><br>
</div>
<div>Cheers,</div>
<div>Thorsten</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>[1] <a href="http://developer.android.com/reference/android/util/Log.html">http://developer.android.com/reference/android/util/Log.html</a></div>
<div><br>
</div>
<div><br>
</div>
<div><br>
<blockquote type="cite">
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">And use the native android logging system for my own code.</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">This is not as pretty but could do the work.</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><br>
</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">Thanks for your time,</div>
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">Best regards</div>
<div><br>
</div>
-- <br>
<span style="border-collapse:collapse;font-family:arial,sans-serif;font-size:13px">
<div><b>Darío García</b></div>
<div>Agile Software Development</div>
<div>+54 (911) 6336-3707</div>
<div><strong><span style="font-size:8pt"><span style="font-size:small"><font><span style="font-weight:normal">Office: +54 - 011 - 4311-8404</span></font></span></span></strong></div>
<div><a href="mailto:dario.garcia@10pines.com" style="color:rgb(42,93,176)" target="_blank"><font color="#33CC00"><span style="background-color:rgb(255,255,204);color:rgb(34,34,34)">dario.garcia@10pines.com</span></font></a></div>
</span><br>
_______________________________________________<br>
slf4j-user mailing list<br>
<a href="mailto:slf4j-user@qos.ch">slf4j-user@qos.ch</a><br>
http://mailman.qos.ch/mailman/listinfo/slf4j-user</blockquote>
</div>
<br>
</div>
</body>
</html>