<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi&nbsp;<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>I'm using Sigar (native system metrics gathering API) with&nbsp;log4j-over-slf4j and it crashed on start with:&nbsp;</div><div><br></div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>java.lang.NoSuchMethodError: org.apache.log4j.Logger.getAllAppenders()Ljava/util/Enumeration;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.hyperic.sigar.SigarLog.isLogConfigured(SigarLog.java:40)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.hyperic.sigar.SigarLog.getLogger(SigarLog.java:49)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.hyperic.sigar.SigarLog.getLogger(SigarLog.java:44)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.hyperic.sigar.SigarLog.debug(SigarLog.java:60)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.hyperic.sigar.Sigar.&lt;clinit&gt;(Sigar.java:108)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>...</div><div><br></div></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>This because the Category class &nbsp;in&nbsp;log4j-over-slf4j (from whom Logger descends) does not contain the getAllAppenders() method which is a known and somewhat used hack to test wether log4j was initialized.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>I got the project from git and added this mock method to the Category class:</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-style-span" style="font-family: Monaco; font-size: 11px; "><span style="color: #941067">public</span></span><span class="Apple-style-span" style="font-family: Monaco; font-size: 11px; "> Enumeration getAllAppenders() {</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">&nbsp; &nbsp; <span style="color: #941067">return</span> <span style="color: #941067">new</span> Enumeration() {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">&nbsp; &nbsp; &nbsp; <span style="color: #941067">public</span> Object nextElement() {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #941067">return</span> <span style="color: #941067">null</span>;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">&nbsp; &nbsp; &nbsp; }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">&nbsp; &nbsp; &nbsp; <span style="color: #941067">public</span> <span style="color: #941067">boolean</span> hasMoreElements() {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(148, 16, 103); "><span style="color: #000000">&nbsp; &nbsp; &nbsp; &nbsp; </span>return<span style="color: #000000"> </span>false<span style="color: #000000">;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">&nbsp; &nbsp; &nbsp; }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">&nbsp; &nbsp; };</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">&nbsp; }</div><div><span class="Apple-tab-span" style="white-space:pre"><br></span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>All works fine now. It would be cool if the main version would support this.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Btw nice work on slf4j.&nbsp;Got to love open source :))</div><div><br></div><div>Regards</div><div>David Alves</div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div></body></html>