<!--
RSS generated by JIRA (4.4#649-r158309) at Fri May 24 12:13:41 CDT 2013

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
For example:
http://dev.clojure.org/jira/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=project+%3D+TLOG+ORDER+BY+updated+DESC%2C+priority+DESC%2C+created+ASC&tempMax=1000&field=key&field=summary
-->
<!-- If you wish to do custom client-side styling of RSS, uncomment this:
<?xml-stylesheet href="http://dev.clojure.org/jira/styles/jiraxml2html.xsl" type="text/xsl"?>
-->
<rss version="0.92">
    <channel>
        <title>Clojure JIRA</title>
        <link>http://dev.clojure.org/jira/secure/IssueNavigator.jspa?reset=true&amp;jqlQuery=project+%3D+TLOG+ORDER+BY+updated+DESC%2C+priority+DESC%2C+created+ASC</link>
        <description>An XML representation of a search request</description>
                <language>en-us</language>
                        <issue start="0" end="12" total="12"/>
                <build-info>
            <version>4.4</version>
            <build-number>649</build-number>
            <build-date>25-07-2011</build-date>
        </build-info>
<item>
            <title>[TLOG-11] tools.logging doesn&apos;t AOT</title>
                <link>http://dev.clojure.org/jira/browse/TLOG-11</link>
                <project id="10030" key="TLOG">tools.logging</project>
                        <description>&lt;p&gt;tools.logging does not work if used in a project that is AOT&apos;d. &lt;/p&gt;

&lt;p&gt;To reproduce, in a project using tools.logging:&lt;/p&gt;

&lt;p&gt;lein jar &lt;br/&gt;
lein run&lt;/p&gt;

&lt;p&gt;I can workaround it in my project by including&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(when *compile-files*
  (compile &apos;clojure.tools.logging)
  (compile &apos;clojure.tools.logging.impl))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="16103">TLOG-11</key>
            <summary>tools.logging doesn&apos;t AOT</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="3" iconUrl="http://dev.clojure.org/jira/images/icons/priority_major.gif">Major</priority>
                    <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="ataggart">Alexander Taggart</assignee>
                                <reporter username="arohner">Allen Rohner</reporter>
                        <labels>
                    </labels>
                <created>Fri, 22 Mar 2013 22:16:45 -0500</created>
                <updated>Tue, 30 Apr 2013 19:12:59 -0500</updated>
                    <resolved>Tue, 30 Apr 2013 18:32:46 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="31023" author="ataggart" created="Tue, 30 Apr 2013 17:11:58 -0500"  >&lt;p&gt;It&apos;s not clear to me what &quot;does not work&quot; means.  &lt;/p&gt;

&lt;p&gt;I&apos;ve made a quick test project: &lt;a href=&quot;https://github.com/ataggart/aot-log-test&quot;&gt;https://github.com/ataggart/aot-log-test&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cloning that repo, running &lt;tt&gt;lein jar&lt;/tt&gt; then &lt;tt&gt;lein run&lt;/tt&gt; yields the output I would expect.&lt;/p&gt;

&lt;p&gt;Further details appreciated.&lt;/p&gt;
</comment>
                    <comment id="31029" author="arohner" created="Tue, 30 Apr 2013 18:32:46 -0500"  >&lt;p&gt;This isn&apos;t a bug; User Error.&lt;/p&gt;

&lt;p&gt;I thought I had fully isolated the bug in my app&apos;s codebase, but I forgot about an :injection that we have that jams a debug macro into clojure.core. &lt;/p&gt;

&lt;p&gt;for posterity, it was caused by doing&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(binding [*ns* (find-ns &apos;clojure.core)]
  (require &apos;clojure.tools.logging)
  (defmacro inspect
    &lt;span class=&quot;code-quote&quot;&gt;&quot;prints the expression &apos;&amp;lt;name&amp;gt; is &amp;lt;value&amp;gt;&apos;, and returns the value&quot;&lt;/span&gt;
    [value]
    `(&lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt;
       (let [value# (quote ~value)
             result# ~value]
         (println value# &lt;span class=&quot;code-quote&quot;&gt;&quot;is&quot;&lt;/span&gt; (with-out-str (clojure.pprint/pprint result#)))
         (clojure.tools.logging/infof &lt;span class=&quot;code-quote&quot;&gt;&quot;%s is %s&quot;&lt;/span&gt; value# result#)
         result#))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Moving the require call to inside the macroexpansion resolved the bug. (And yes, I&apos;m moving to &lt;a href=&quot;https://github.com/dgrnbrg/spyscope&quot;&gt;https://github.com/dgrnbrg/spyscope&lt;/a&gt; now that I&apos;m aware of it)&lt;/p&gt;

&lt;p&gt;Sorry to waste your time, Alex. &lt;/p&gt;</comment>
                    <comment id="31032" author="ataggart" created="Tue, 30 Apr 2013 19:06:26 -0500"  >&lt;p&gt;No worries.&lt;/p&gt;

&lt;p&gt;On a related note, do you see any utility in keeping the &lt;tt&gt;spy&lt;/tt&gt; macro?  It&apos;s pretty much what you&apos;re doing.  Do you use &lt;tt&gt;inspect&lt;/tt&gt; for logging or as an in-repl debugging tool?  Perhaps &lt;tt&gt;spy&lt;/tt&gt; makes more sense in &lt;tt&gt;tools.trace&lt;/tt&gt;.&lt;/p&gt;</comment>
                    <comment id="31033" author="arohner" created="Tue, 30 Apr 2013 19:12:59 -0500"  >&lt;p&gt;TBH, I didn&apos;t know about &lt;tt&gt;spy&lt;/tt&gt;. Also, my inspect macro predates clojure.tools.logging, and might even predate clojure.contrib.logging, if you can believe that. &lt;img class=&quot;emoticon&quot; src=&quot;http://dev.clojure.org/jira/images/icons/emoticons/smile.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;I use &lt;tt&gt;inspect&lt;/tt&gt; as a debugging tool. The main value to jamming it into clojure.core is that I can use it in any file, without having to stop and muck with the ns declaration. Therefore if I was going to use anything else, it would need to have that property. &lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                        <customfield id="customfield_10003" key="com.atlassian.jira.plugin.system.customfieldtypes:userpicker">
                <customfieldname>Waiting On</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>arohner</customfieldvalue>
                </customfieldvalues>
            </customfield>
                            </customfields>
    </item>

<item>
            <title>[TLOG-12] Reflection Warnings when using tools.logging</title>
                <link>http://dev.clojure.org/jira/browse/TLOG-12</link>
                <project id="10030" key="TLOG">tools.logging</project>
                        <description>&lt;p&gt;A few of my projects are still reflecting using tools.logging 0.2.6 and slf4j-log4j12 &quot;1.7.2&quot;.&lt;/p&gt;

&lt;p&gt;lein check produces the following output:&lt;/p&gt;

&lt;p&gt;...&lt;br/&gt;
Reflection warning, curator_clj/zookeeper.clj:1:1 - reference to field isTraceEnabled can&apos;t be resolved.&lt;br/&gt;
Reflection warning, curator_clj/zookeeper.clj:1:1 - reference to field isDebugEnabled can&apos;t be resolved.&lt;br/&gt;
Reflection warning, curator_clj/zookeeper.clj:1:1 - reference to field isInfoEnabled can&apos;t be resolved.&lt;br/&gt;
Reflection warning, curator_clj/zookeeper.clj:1:1 - reference to field isWarnEnabled can&apos;t be resolved.&lt;br/&gt;
Reflection warning, curator_clj/zookeeper.clj:1:1 - reference to field isErrorEnabled can&apos;t be resolved.&lt;br/&gt;
Reflection warning, curator_clj/zookeeper.clj:1:1 - reference to field isErrorEnabled can&apos;t be resolved.&lt;br/&gt;
...&lt;/p&gt;</description>
                <environment></environment>
            <key id="16173">TLOG-12</key>
            <summary>Reflection Warnings when using tools.logging</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="3" iconUrl="http://dev.clojure.org/jira/images/icons/priority_major.gif">Major</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="ataggart">Alexander Taggart</assignee>
                                <reporter username="beffbernard">Trevor Bernard</reporter>
                        <labels>
                    </labels>
                <created>Tue, 30 Apr 2013 07:09:02 -0500</created>
                <updated>Tue, 30 Apr 2013 17:46:41 -0500</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="31024" author="ataggart" created="Tue, 30 Apr 2013 17:37:07 -0500"  >&lt;p&gt;I&apos;ve made a quick test project: &lt;a href=&quot;https://github.com/ataggart/reflect-log-test&quot;&gt;https://github.com/ataggart/reflect-log-test&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cloning that repo, running &lt;tt&gt;lein check&lt;/tt&gt; yields no reflection warnings.&lt;/p&gt;

&lt;p&gt;Please provide a way for me to reproduce what you see.&lt;/p&gt;
</comment>
                    <comment id="31026" author="beffbernard" created="Tue, 30 Apr 2013 17:46:41 -0500"  >&lt;p&gt;Forking that project and will try to find a simple test case that reproduces it.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11975" name="0001-Fix-TLOG-7-Remove-reflection-warnings.patch" size="14082" author="beffbernard" created="Tue, 30 Apr 2013 07:09:02 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                        <customfield id="customfield_10003" key="com.atlassian.jira.plugin.system.customfieldtypes:userpicker">
                <customfieldname>Waiting On</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>beffbernard</customfieldvalue>
                </customfieldvalues>
            </customfield>
                            </customfields>
    </item>

<item>
            <title>[TLOG-7] Reflection warnings</title>
                <link>http://dev.clojure.org/jira/browse/TLOG-7</link>
                <project id="10030" key="TLOG">tools.logging</project>
                        <description>&lt;p&gt;Reflection warning, clojure/tools/logging.clj:270 - reference to field isTraceEnabled can&apos;t be resolved.&lt;br/&gt;
Reflection warning, clojure/tools/logging.clj:270 - reference to field isDebugEnabled can&apos;t be resolved.&lt;br/&gt;
Reflection warning, clojure/tools/logging.clj:270 - reference to field isInfoEnabled can&apos;t be resolved.&lt;br/&gt;
Reflection warning, clojure/tools/logging.clj:270 - reference to field isWarnEnabled can&apos;t be resolved.&lt;br/&gt;
Reflection warning, clojure/tools/logging.clj:270 - reference to field isErrorEnabled can&apos;t be resolved.&lt;br/&gt;
Reflection warning, clojure/tools/logging.clj:270 - reference to field isFatalEnabled can&apos;t be resolved.&lt;br/&gt;
Reflection warning, clojure/tools/logging.clj:270 - call to trace can&apos;t be resolved.&lt;br/&gt;
Reflection warning, clojure/tools/logging.clj:270 - call to debug can&apos;t be resolved.&lt;br/&gt;
Reflection warning, clojure/tools/logging.clj:270 - call to info can&apos;t be resolved.&lt;br/&gt;
Reflection warning, clojure/tools/logging.clj:270 - call to warn can&apos;t be resolved.&lt;br/&gt;
Reflection warning, clojure/tools/logging.clj:270 - call to error can&apos;t be resolved.&lt;br/&gt;
Reflection warning, clojure/tools/logging.clj:270 - call to fatal can&apos;t be resolved.&lt;/p&gt;</description>
                <environment></environment>
            <key id="15335">TLOG-7</key>
            <summary>Reflection warnings</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="3" iconUrl="http://dev.clojure.org/jira/images/icons/priority_major.gif">Major</priority>
                    <status id="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="ataggart">Alexander Taggart</assignee>
                                <reporter username="seancorfield">Sean Corfield</reporter>
                        <labels>
                    </labels>
                <created>Mon, 16 Apr 2012 13:09:11 -0500</created>
                <updated>Wed, 24 Apr 2013 12:33:59 -0500</updated>
                    <resolved>Sat, 5 May 2012 15:29:42 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="28395" author="ataggart" created="Sat, 5 May 2012 15:26:31 -0500"  >&lt;p&gt;Adds type-hints to all implementation-wrapping fns.&lt;/p&gt;</comment>
                    <comment id="30985" author="beffbernard" created="Tue, 23 Apr 2013 16:39:46 -0500"  >&lt;p&gt;A few of my projects are still reflecting using tools.logging 0.2.6 and slf4j-log4j12 &quot;1.7.2&quot;. I&apos;ve attached a patch that I&apos;ve started using to fix this issue.&lt;/p&gt;</comment>
                    <comment id="30986" author="beffbernard" created="Tue, 23 Apr 2013 16:41:11 -0500"  >&lt;p&gt;I&apos;m a registered contributor to clojure.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://clojure.org/contributing&quot;&gt;http://clojure.org/contributing&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="30988" author="jafingerhut" created="Wed, 24 Apr 2013 12:33:59 -0500"  >&lt;p&gt;Trevor, since this ticket was already closed and marked as completed some time ago, it is probably best to create a new ticket and attach your patch to that.  I know the issue is similar to this existing ticket, but best to have new tickets for new work.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11968" name="0001-Fix-TLOG-7-Remove-reflection-warnings.patch" size="14082" author="beffbernard" created="Tue, 23 Apr 2013 16:41:11 -0500" />
                    <attachment id="11172" name="TLOG-7.1.patch" size="2901" author="ataggart" created="Sat, 5 May 2012 15:26:31 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[TLOG-10] Double-evaluation of arguments</title>
                <link>http://dev.clojure.org/jira/browse/TLOG-10</link>
                <project id="10030" key="TLOG">tools.logging</project>
                        <description>&lt;p&gt;The expansion of the log macros can double-evaluate the first argument.&lt;/p&gt;

&lt;p&gt;For example, the following call:&lt;/p&gt;

&lt;p&gt;  (log/info (expensive-call foo) bar)&lt;/p&gt;

&lt;p&gt;Expands to this:&lt;/p&gt;

&lt;p&gt;(let*&lt;br/&gt;
  [logger_&lt;em&gt;278&lt;/em&gt;&lt;em&gt;auto&lt;/em&gt;_&lt;br/&gt;
   (get-logger &lt;b&gt;logger-factory&lt;/b&gt; #&amp;lt;Namespace scratch.core&amp;gt;)]&lt;br/&gt;
  (if (enabled? logger_&lt;em&gt;278&lt;/em&gt;&lt;em&gt;auto&lt;/em&gt;_ :info)&lt;br/&gt;
    (if (instance? java.lang.Throwable (expensive-call foo))&lt;br/&gt;
      (log*&lt;br/&gt;
        logger_&lt;em&gt;278&lt;/em&gt;&lt;em&gt;auto&lt;/em&gt;_&lt;br/&gt;
        :info&lt;br/&gt;
        (expensive-call foo)&lt;br/&gt;
        (print-str bar))&lt;br/&gt;
      (log*&lt;br/&gt;
        logger_&lt;em&gt;278&lt;/em&gt;&lt;em&gt;auto&lt;/em&gt;_&lt;br/&gt;
        :info&lt;br/&gt;
        nil&lt;br/&gt;
        (print-str (expensive-call foo) bar)))))&lt;/p&gt;

&lt;p&gt;Note the calls to &quot;expensive-call&quot; both in the instance check and in the log* call.&lt;/p&gt;</description>
                <environment>tools.logging 0.2.5-SNAPSHOT</environment>
            <key id="15990">TLOG-10</key>
            <summary>Double-evaluation of arguments</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="3" iconUrl="http://dev.clojure.org/jira/images/icons/priority_major.gif">Major</priority>
                    <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="ataggart">Alexander Taggart</assignee>
                                <reporter username="cperkins">Chris Perkins</reporter>
                        <labels>
                    </labels>
                <created>Mon, 4 Feb 2013 21:14:55 -0600</created>
                <updated>Mon, 4 Feb 2013 22:28:23 -0600</updated>
                    <resolved>Mon, 4 Feb 2013 22:28:23 -0600</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="30551" author="ataggart" created="Mon, 4 Feb 2013 22:28:23 -0600"  >&lt;p&gt;Fixed in 0.2.6.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11835" name="double-eval.diff" size="2588" author="cperkins" created="Mon, 4 Feb 2013 21:14:55 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[TLOG-8] README.md still refers to using version 0.2.3 of tools.logging</title>
                <link>http://dev.clojure.org/jira/browse/TLOG-8</link>
                <project id="10030" key="TLOG">tools.logging</project>
                        <description>&lt;p&gt;The latest version is 0.2.4 and should reflected in the README&lt;/p&gt;</description>
                <environment></environment>
            <key id="15852">TLOG-8</key>
            <summary>README.md still refers to using version 0.2.3 of tools.logging</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="ataggart">Alexander Taggart</assignee>
                                <reporter username="beffbernard">Trevor Bernard</reporter>
                        <labels>
                    </labels>
                <created>Sat, 24 Nov 2012 18:30:17 -0600</created>
                <updated>Mon, 4 Feb 2013 22:27:26 -0600</updated>
                    <resolved>Mon, 4 Feb 2013 22:27:26 -0600</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="30550" author="ataggart" created="Mon, 4 Feb 2013 22:27:26 -0600"  >&lt;p&gt;Fixed in 0.2.6.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11707" name="TLOG-8.patch" size="897" author="beffbernard" created="Sat, 24 Nov 2012 18:33:57 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[TLOG-9] spy macro (or new spy macro) that accepts a message</title>
                <link>http://dev.clojure.org/jira/browse/TLOG-9</link>
                <project id="10030" key="TLOG">tools.logging</project>
                        <description>&lt;p&gt;I think it might be useful to have spy be able to take a message to be logged in addition to the data. (or have a similar macro showing an optional message instead of the code).&lt;/p&gt;

&lt;p&gt;(spy &quot;doing x&quot; (blah))&lt;br/&gt;
(spy :doing-x (blah) ; because it is easier to type sometimes&lt;/p&gt;

&lt;p&gt;with spy this may conflict with the log-level. &lt;/p&gt;

&lt;p&gt;I find this sort of function with a message useful and use it quite often. Much more often than plain logging. Generally - I would&apos;t log the code unless it logged file and line number too.&lt;/p&gt;
</description>
                <environment></environment>
            <key id="15876">TLOG-9</key>
            <summary>spy macro (or new spy macro) that accepts a message</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="4" iconUrl="http://dev.clojure.org/jira/images/icons/priority_minor.gif">Minor</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="ataggart">Alexander Taggart</assignee>
                                <reporter username="davesann">Dave Sann</reporter>
                        <labels>
                    </labels>
                <created>Sat, 8 Dec 2012 23:18:41 -0600</created>
                <updated>Sat, 8 Dec 2012 23:18:41 -0600</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[TLOG-6] tools.logging does not log to stdout when run from swank-clojure</title>
                <link>http://dev.clojure.org/jira/browse/TLOG-6</link>
                <project id="10030" key="TLOG">tools.logging</project>
                        <description>&lt;p&gt;Trying to evaluate (info &quot;Hello, World!&quot;) doesn&apos;t print to stdout when evaluating from within emacs. It works if I `lein run` however.&lt;/p&gt;</description>
                <environment>tools.logging &amp;quot;0.2.3&amp;quot;, Mac OS X Lion, emacs 23.4, swank-clojure 1.3.4, slime 20100404</environment>
            <key id="15210">TLOG-6</key>
            <summary>tools.logging does not log to stdout when run from swank-clojure</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="4" iconUrl="http://dev.clojure.org/jira/images/icons/priority_minor.gif">Minor</priority>
                    <status id="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="ataggart">Alexander Taggart</assignee>
                                <reporter username="beffbernard">Trevor Bernard</reporter>
                        <labels>
                    </labels>
                <created>Tue, 7 Feb 2012 20:33:26 -0600</created>
                <updated>Tue, 7 Feb 2012 21:07:59 -0600</updated>
                    <resolved>Tue, 7 Feb 2012 21:07:59 -0600</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="27694" author="beffbernard" created="Tue, 7 Feb 2012 20:44:38 -0600"  >&lt;p&gt;It works when I use the inferior-lisp process but not in slime&lt;/p&gt;</comment>
                    <comment id="27695" author="ataggart" created="Tue, 7 Feb 2012 21:07:59 -0600"  >&lt;p&gt;Configuring swank/slime to work with wherever your log implementation writes its output is not a &lt;tt&gt;tools.logging&lt;/tt&gt; issue.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[TLOG-5] Improvement of sample code in README.md</title>
                <link>http://dev.clojure.org/jira/browse/TLOG-5</link>
                <project id="10030" key="TLOG">tools.logging</project>
                        <description>&lt;p&gt;README.md uses the following code to show the usage of tools.logging.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(ns example.core
  (:use [clojure.tools.logging :only (info error)]))

(defn divide [one two]
  (&lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt;
    (info &lt;span class=&quot;code-quote&quot;&gt;&quot;Calculated&quot;&lt;/span&gt; (/ one two))
    (&lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; Exception ex
      (error ex &lt;span class=&quot;code-quote&quot;&gt;&quot;There was an error in calculation&quot;&lt;/span&gt;))))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If log4j.rootLogger in the given log4j.properties is updated to &quot;ERROR, A1&quot;. &quot;(divide 10 0)&quot; won&apos;t evaluate &quot;(error ex &quot;There was an error in calculation&quot;)&quot;. The reason is that INFO logging level is lower than ERROR logging level. So the info macro will not evaluate &quot;(/ one two)&quot; since the specific INFO logging level is not in effect.&lt;/p&gt;

&lt;p&gt;New tools.logging users often expect &quot;(divide 10 0)&quot; to produce logging with ERROR level. They are confused with the above behaviour. So I suggest to make some change to the sample code. Maybe the following code:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(ns example.core
  (:use [clojure.tools.logging :only (info error)]))

(defn divide [one two]
  (&lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; 
    (info &lt;span class=&quot;code-quote&quot;&gt;&quot;Calculating&quot;&lt;/span&gt; one two)
    (/ one two)
    (&lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; Exception ex
      (error ex &lt;span class=&quot;code-quote&quot;&gt;&quot;There was an error in calculation&quot;&lt;/span&gt;))))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
</description>
                <environment></environment>
            <key id="14700">TLOG-5</key>
            <summary>Improvement of sample code in README.md</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="4" iconUrl="http://dev.clojure.org/jira/images/icons/priority_minor.gif">Minor</priority>
                    <status id="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="ataggart">Alexander Taggart</assignee>
                                <reporter username="jingguo">Jingguo Yao</reporter>
                        <labels>
                    </labels>
                <created>Fri, 14 Oct 2011 02:01:33 -0500</created>
                <updated>Mon, 17 Oct 2011 20:33:57 -0500</updated>
                    <resolved>Mon, 17 Oct 2011 20:33:57 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[TLOG-4] Provided implementations of logging protocols fail.</title>
                <link>http://dev.clojure.org/jira/browse/TLOG-4</link>
                <project id="10030" key="TLOG">tools.logging</project>
                        <description>&lt;p&gt;Example of error when trying to call a Logger protocol function:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;java.lang.IllegalArgumentException: No implementation of method: :enabled? of protocol:
#&apos;clojure.tools.logging.impl/Logger found for class: org.apache.log4j.Logger
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The bug is the result of combining syntax-quoting with &lt;tt&gt;extend-type&lt;/tt&gt;, e.g.:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;`(do
   (extend-type org.apache.commons.logging.Log
     Logger
     (enabled? [logger# level#] ... )))
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The syntax-quote turns the above &lt;tt&gt;enabled?&lt;/tt&gt; into &lt;tt&gt;clojure.tools.logging/enabled?&lt;/tt&gt; protocol function name, and then the &lt;tt&gt;extend-type&lt;/tt&gt; turns that into the keyword &lt;tt&gt;:clojure.tools.logging/enabled?&lt;/tt&gt;, which does not match the expected &lt;tt&gt;:enabled?&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Attached patch fixes this by using &lt;tt&gt;extend&lt;/tt&gt; maps rather than &lt;tt&gt;extend-type&lt;/tt&gt;. Also adds some tests.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14652">TLOG-4</key>
            <summary>Provided implementations of logging protocols fail.</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="1" iconUrl="http://dev.clojure.org/jira/images/icons/priority_blocker.gif">Blocker</priority>
                    <status id="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="ataggart">Alexander Taggart</assignee>
                                <reporter username="ataggart">Alexander Taggart</reporter>
                        <labels>
                    </labels>
                <created>Thu, 29 Sep 2011 14:58:12 -0500</created>
                <updated>Thu, 29 Sep 2011 15:36:11 -0500</updated>
                    <resolved>Thu, 29 Sep 2011 15:36:11 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26877" author="ataggart" created="Thu, 29 Sep 2011 15:36:11 -0500"  >&lt;p&gt;Committed:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/clojure/tools.logging/commit/f9cb0a7232d3a11cb7e74e4c13c3adc054e7e7a2&quot;&gt;https://github.com/clojure/tools.logging/commit/f9cb0a7232d3a11cb7e74e4c13c3adc054e7e7a2&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10374" name="fix-broken-extend.patch" size="10479" author="ataggart" created="Thu, 29 Sep 2011 14:58:12 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10002">Code and Test</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[TLOG-3] Move implementation-specific details out of main ns</title>
                <link>http://dev.clojure.org/jira/browse/TLOG-3</link>
                <project id="10030" key="TLOG">tools.logging</project>
                        <description>&lt;p&gt;The protocols which allow the main functions/macros to adapt to implementation specific logging libraries do not need to be in the clojure.tools.logging namespace since they are not intended to be used by consumers.&lt;/p&gt;

&lt;p&gt;Plan:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Move protocols into clojure.tools.logging.impl&lt;/li&gt;
	&lt;li&gt;Move implementation-specific code (e.g., the extentions to the protocols) into separate namespaces, e.g., clojure.tools.logging.log4j.&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
            <key id="14481">TLOG-3</key>
            <summary>Move implementation-specific details out of main ns</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="3" iconUrl="http://dev.clojure.org/jira/images/icons/priority_major.gif">Major</priority>
                    <status id="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="ataggart">Alexander Taggart</assignee>
                                <reporter username="ataggart">Alexander Taggart</reporter>
                        <labels>
                    </labels>
                <created>Wed, 6 Jul 2011 15:07:28 -0500</created>
                <updated>Thu, 7 Jul 2011 18:49:03 -0500</updated>
                    <resolved>Thu, 7 Jul 2011 18:49:03 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26556" author="ataggart" created="Thu, 7 Jul 2011 18:49:03 -0500"  >&lt;p&gt;&lt;a href=&quot;https://github.com/clojure/tools.logging/commit/42dfba84a373e52a4e80af6467e47761e6f20678&quot;&gt;https://github.com/clojure/tools.logging/commit/42dfba84a373e52a4e80af6467e47761e6f20678&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10272" name="refactor-namespaces.patch" size="34433" author="ataggart" created="Wed, 6 Jul 2011 16:26:33 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10007">Ok</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10002">Code and Test</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[TLOG-2] Change &quot;log&quot; semantics to &quot;logger&quot; semantics</title>
                <link>http://dev.clojure.org/jira/browse/TLOG-2</link>
                <project id="10030" key="TLOG">tools.logging</project>
                        <description>&lt;p&gt;The relevant patch is named tools.logging-&lt;a href=&quot;http://dev.clojure.org/jira/browse/TLOG-2&quot; title=&quot;Change &amp;quot;log&amp;quot; semantics to &amp;quot;logger&amp;quot; semantics&quot;&gt;&lt;del&gt;TLOG-2&lt;/del&gt;&lt;/a&gt;-v2.diff&lt;/p&gt;

&lt;p&gt;Changes &quot;log&quot; semantics to &quot;logger&quot; semantics.&lt;/p&gt;

&lt;p&gt;Log protocol becomes LoggerProtocol&lt;br/&gt;
LogFactory protocol becomes LoggerFactoryProtocol&lt;br/&gt;
&lt;b&gt;log-factory&lt;/b&gt; becomes &lt;b&gt;logger-factory&lt;/b&gt;&lt;br/&gt;
impl-get-log becomes impl-get-logger&lt;br/&gt;
log function argument name becomes logger function argument name&lt;br/&gt;
log# macro autosym becomes logger# macro autosym&lt;/p&gt;</description>
                <environment></environment>
            <key id="14480">TLOG-2</key>
            <summary>Change &quot;log&quot; semantics to &quot;logger&quot; semantics</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="3" iconUrl="http://dev.clojure.org/jira/images/icons/priority_major.gif">Major</priority>
                    <status id="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="laurentpetit">Laurent Petit</assignee>
                                <reporter username="laurentpetit">Laurent Petit</reporter>
                        <labels>
                    </labels>
                <created>Tue, 5 Jul 2011 17:05:09 -0500</created>
                <updated>Wed, 6 Jul 2011 15:00:51 -0500</updated>
                    <resolved>Wed, 6 Jul 2011 15:00:50 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26553" author="ataggart" created="Wed, 6 Jul 2011 15:00:50 -0500"  >&lt;p&gt;Committed to master:&lt;br/&gt;
&lt;a href=&quot;https://github.com/clojure/tools.logging/commit/0a5f9bd3148cf078dd0b62aece5f92a970b5aba3&quot;&gt;https://github.com/clojure/tools.logging/commit/0a5f9bd3148cf078dd0b62aece5f92a970b5aba3&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10271" name="tools.logging-TLOG-2-v2.diff" size="28352" author="laurentpetit" created="Tue, 5 Jul 2011 17:13:39 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10007">Ok</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10002">Code and Test</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[TLOG-1] Non-optimized, no-exception path for logp calls log* with wrong arity</title>
                <link>http://dev.clojure.org/jira/browse/TLOG-1</link>
                <project id="10030" key="TLOG">tools.logging</project>
                        <description>&lt;p&gt;Per Laurent Petit&lt;/p&gt;</description>
                <environment></environment>
            <key id="14446">TLOG-1</key>
            <summary>Non-optimized, no-exception path for logp calls log* with wrong arity</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="3" iconUrl="http://dev.clojure.org/jira/images/icons/priority_major.gif">Major</priority>
                    <status id="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="ataggart">Alexander Taggart</assignee>
                                <reporter username="ataggart">Alexander Taggart</reporter>
                        <labels>
                    </labels>
                <created>Wed, 1 Jun 2011 11:27:40 -0500</created>
                <updated>Wed, 1 Jun 2011 11:34:52 -0500</updated>
                    <resolved>Wed, 1 Jun 2011 11:34:52 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26479" author="ataggart" created="Wed, 1 Jun 2011 11:34:52 -0500"  >&lt;p&gt;&lt;a href=&quot;https://github.com/clojure/tools.logging/commit/687c1833c59ad1204c2a41cf0ed1f53be4a0fa8d&quot;&gt;https://github.com/clojure/tools.logging/commit/687c1833c59ad1204c2a41cf0ed1f53be4a0fa8d&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10250" name="TLOG-1.patch" size="1613" author="ataggart" created="Wed, 1 Jun 2011 11:33:21 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10002">Code and Test</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>
</channel>
</rss>