<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p><br>
</p>
<p><span id="ms-rterangecursor-start"></span>I Felix,</p>
<p><br>
</p>
<p>Just as a follow up to the information provided earlier, if you require a finer level of tuning for your logging then you can also make use of standard Logback configuration.</p>
<p><br>
</p>
<p>In order to do so you must first add the logback.xml file to your class path. </p>
<p>Note this will override the DebugTools.enableLogging(...) setting.</p>
<p><br>
</p>
<p>In this configuration you can define the level of logging specific to individual components. For example:</p>
<p><span lang="EN-GB"></span></p>
<blockquote style="margin-right: 0px;" dir="ltr">
<p style="margin-right: 0px;" dir="ltr"><font style="color: rgb(75, 165, 36);" rtenodeid="106"><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="107"><logger</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="108">
</span><span class="atn" style="color: rgb(75, 165, 36);" rtenodeid="109">name</span><span class="pun" style="color: rgb(75, 165, 36);" rtenodeid="110">=</span><span class="atv" style="color: rgb(75, 165, 36);" rtenodeid="111">"loci.formats.FormatHandler"</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="112">
</span><span class="atn" style="color: rgb(75, 165, 36);" rtenodeid="113">level</span><span class="pun" style="color: rgb(75, 165, 36);" rtenodeid="114">=</span><span class="atv" style="color: rgb(75, 165, 36);" rtenodeid="115">"ERROR"</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="116">
</span>/></font></p>
<p style="margin-right: 0px;" dir="ltr"><font style="color: rgb(75, 165, 36);" rtenodeid="106"><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="118"><logger</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="119">
</span><span class="atn" style="color: rgb(75, 165, 36);" rtenodeid="120">name</span><span class="pun" style="color: rgb(75, 165, 36);" rtenodeid="121">=</span><span class="atv" style="color: rgb(75, 165, 36);" rtenodeid="122">"loci.formats.tiff.TiffParser"</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="123">
</span><span class="atn" style="color: rgb(75, 165, 36);" rtenodeid="124">level</span><span class="pun" style="color: rgb(75, 165, 36);" rtenodeid="125">=</span><span class="atv" style="color: rgb(75, 165, 36);" rtenodeid="126">"DEBUG"</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="127">
</span>/></font></p>
</blockquote>
<p></p>
<p></p>
<p>Different appenders can also be configured to write output from specific loggers to various sources.
</p>
<p>In the example below all log messages will be sent to the console but only requests from FromatHandler and its children will be sent to the log file.</p>
<blockquote style="margin-right: 0px;" dir="ltr">
<p rtenodeid="1"><span style="color: rgb(75, 165, 36);"><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="2"><configuration></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="3"><br rtenodeid="4">
  </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="5"><appender</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="6">
</span><span class="atn" style="color: rgb(75, 165, 36);" rtenodeid="7">name</span><span class="pun" style="color: rgb(75, 165, 36);" rtenodeid="8">=</span><span class="atv" style="color: rgb(75, 165, 36);" rtenodeid="9">"FILE"</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="10">
</span><span class="atn" style="color: rgb(75, 165, 36);" rtenodeid="11">class</span><span class="pun" style="color: rgb(75, 165, 36);" rtenodeid="12">=</span><span class="atv" style="color: rgb(75, 165, 36);" rtenodeid="13">"ch.qos.logback.core.FileAppender"</span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="14">></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="15"><br rtenodeid="16">
    </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="17"><file>formatHandler</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="18">.log</span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="19"></file></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="20"><br rtenodeid="21">
    </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="22"><encoder></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="23"><br rtenodeid="24">
      </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="25"><pattern></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="26">%date %level [%thread] %logger{10} [%file:%line] %msg%n</span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="27"></pattern></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="28"><br rtenodeid="29">
    </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="30"></encoder></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="31"><br rtenodeid="32">
  </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="33"></appender></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="34"><br rtenodeid="35">
<br rtenodeid="36">
  </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="37"><appender</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="38">
</span><span class="atn" style="color: rgb(75, 165, 36);" rtenodeid="39">name</span><span class="pun" style="color: rgb(75, 165, 36);" rtenodeid="40">=</span><span class="atv" style="color: rgb(75, 165, 36);" rtenodeid="41">"STDOUT"</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="42">
</span><span class="atn" style="color: rgb(75, 165, 36);" rtenodeid="43">class</span><span class="pun" style="color: rgb(75, 165, 36);" rtenodeid="44">=</span><span class="atv" style="color: rgb(75, 165, 36);" rtenodeid="45">"ch.qos.logback.core.ConsoleAppender"</span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="46">></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="47"><br rtenodeid="48">
    </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="49"><encoder></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="50"><br rtenodeid="51">
      </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="52"><pattern></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="53">%msg%n</span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="54"></pattern></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="55"><br rtenodeid="56">
    </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="57"></encoder></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="58"><br rtenodeid="59">
  </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="60"></appender></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="61"><br rtenodeid="62">
<br rtenodeid="63">
  </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="64"><logger</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="65">
</span><span class="atn" style="color: rgb(75, 165, 36);" rtenodeid="66">name</span><span class="pun" style="color: rgb(75, 165, 36);" rtenodeid="67">=</span><span class="atv" style="color: rgb(75, 165, 36);" rtenodeid="68">"loci.formats.FormatHandler"</span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="69">></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="70"><br rtenodeid="71">
    </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="72"><appender-ref</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="73">
</span><span class="atn" style="color: rgb(75, 165, 36);" rtenodeid="74">ref</span><span class="pun" style="color: rgb(75, 165, 36);" rtenodeid="75">=</span><span class="atv" style="color: rgb(75, 165, 36);" rtenodeid="76">"FILE"</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="77">
</span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="78">/></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="79"><br rtenodeid="80">
  </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="81"></logger></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="82"><br rtenodeid="83">
<br rtenodeid="84">
  </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="85"><root</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="86">
</span><span class="atn" style="color: rgb(75, 165, 36);" rtenodeid="87">level</span><span class="pun" style="color: rgb(75, 165, 36);" rtenodeid="88">=</span><span class="atv" style="color: rgb(75, 165, 36);" rtenodeid="89">"debug"</span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="90">></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="91"><br rtenodeid="92">
    </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="93"><appender-ref</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="94">
</span><span class="atn" style="color: rgb(75, 165, 36);" rtenodeid="95">ref</span><span class="pun" style="color: rgb(75, 165, 36);" rtenodeid="96">=</span><span class="atv" style="color: rgb(75, 165, 36);" rtenodeid="97">"STDOUT"</span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="98">
</span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="99">/></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="100"><br rtenodeid="101">
  </span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="102"></root></span><span class="pln" style="color: rgb(75, 165, 36);" rtenodeid="103"><br rtenodeid="104">
</span><span class="tag" style="color: rgb(75, 165, 36);" rtenodeid="105"></configuration></span></span></p>
</blockquote>
<p><span class="tag">Other useful things that can be defined in the LogBack configuration include registering status listeners, setting properties, variables and conditional processing.</span>For further configuration details and more complex examples you can
 read more at the link below:</p>
<p><a id="LPlnk713658" href="http://logback.qos.ch/manual/configuration.html">http://logback.qos.ch/manual/configuration.html</a></p>
<p></p>
<div id="LPBorder_GT_14455280844370.7057680025060733" style="width: 100%; overflow: auto; margin-top: 20px; margin-bottom: 20px; display: inline-block;">
<table id="LPContainer_14455280844340.48269500281165145" style="width: 80%; overflow: auto; border-top-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-bottom-style: solid; position: relative; background-color: rgb(255, 255, 255);">
<tbody>
<tr valign="top" style="border-spacing: 0px;">
<td id="ImageCell_14455280844340.5712996419909422" style="width: 250px; padding-right: 20px; vertical-align: middle; display: table-cell; position: relative;" colspan="1">
<div id="LPImageContainer_14455280844340.7458845966796534" style="padding: 0px; width: 250px; height: 73px; margin-top: 12px; display: table; position: relative; background-color: rgb(255, 255, 255);">
<a id="LPImageAnchor_14455280844360.8934057838992657" style="text-align: center; display: table-cell;" href="http://logback.qos.ch/manual/configuration.html" target="_blank"><img width="250" height="73" style="border-width: 0px; width: 250px; height: 73px; margin-right: auto; margin-left: auto; display: inline-block; max-height: 250px; max-width: 250px;" aria-label="Preview image with link selected. Double-tap to open the link." src="http://logback.qos.ch/manual/images/chapters/configuration/lbClassicStatus.jpg"></a></div>
</td>
<td>
<div id="LPTitle_14455280844360.43323974787062147" style="top: 0px; color: rgb(51, 51, 51); font-family: "wf_segoe-ui_semilight", "Segoe UI Semilight", "Segoe WP Semilight", "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; font-size: 21px; margin-top: 8px; margin-right: 14px; margin-left: 14px;">
Chapter 3: Configuration - Logback Home</div>
<div id="LPDescription_14455280844370.22421773724822747" style="color: rgb(102, 102, 102); font-family: "wf_segoe-ui_normal", "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; font-size: 13px; margin-top: 8px; margin-right: 14px; margin-left: 14px;">
We start by presenting ways for configuring logback, with many example configuration scripts. Joran, the configuration framework upon which logback relies will ...</div>
<div id="LPUrlContainer_14455280844370.8381775277387977" style="margin: 8px 14px 10px; height: 18px; overflow: hidden; white-space: nowrap; -ms-text-overflow: ellipsis;">
<a id="LPUrlAnchor_14455280844370.3080021688759475" style="font-family: "wf_segoe-ui_normal", "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; font-size: 11px; text-decoration: none;" href="http://logback.qos.ch/manual/configuration.html" target="_blank">Read
 more...</a></div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<p>With Thanks,</p>
<p>David Gault</p>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<hr tabindex="-1" style="width: 98%; display: inline-block;">
<div id="divRplyFwdMsg" dir="ltr"><font color="#000000" face="Calibri, sans-serif" style="font-size: 11pt;"><b>From:</b> ome-users <ome-users-bounces@lists.openmicroscopy.org.uk> on behalf of David Gault (Staff) <d.gault@dundee.ac.uk><br>
<b>Sent:</b> 22 October 2015 13:49<br>
<b>To:</b> OME User Support List<br>
<b>Subject:</b> Re: [ome-users] SlideBookReader Error + DEBUG output</font>
<div> </div>
</div>
<div>Hi Felix,
<div><br>
</div>
<div>In order to configure the logging level I can recommend using the following utility class <a id="LPlnk847276" href="http://downloads.openmicroscopy.org/bio-formats/5.1.4/api/loci/common/DebugTools.html#enableLogging(java.lang.String)">http://downloads.openmicroscopy.org/bio-formats/5.1.4/api/loci/common/DebugTools.html#enableLogging(java.lang.String)</a></div>
<div>So you can add the following to your code for example: </div>
<div><span style="font-family: Monaco; font-size: 11px;">DebugTools.enableLogging(</span><span style="color: rgb(57, 51, 255); font-family: Monaco; font-size: 11px;">"ERROR"</span><span style="font-family: Monaco; font-size: 11px;">);</span></div>
<div><br>
</div>
<div>The exception that you are seeing in the logs is indeed due to a library being unavailable. This particular reader still has further development required, including around the loading of libraries. The exception shown is caught and handled but is output
 to the logger as a debug level log entry.</div>
<div><br>
</div>
<div>With Thanks,</div>
<div>David Gault</div>
<div><br>
</div>
<div><br>
<div>
<blockquote type="cite">
<div>On 21 Oct 2015, at 16:15, MEYENHOFER Felix <<a href="mailto:felix.meyenhofer@unifr.ch">felix.meyenhofer@unifr.ch</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div>Hi <br>
<br>
Whenever I call a bio-formats reader the error further down shows up. It continues to run, but I wonder if this is just an info, that we are missing the license? However as long as we don’t use the slidebookreader, I don’t see why it’s throwing an error instead
 of a warning.<br>
<br>
Also I was wondering how to turn of the DEBUG output of Bio-Formats?<br>
<br>
<br>
17:04:00.645 [SciJava-35e0c0f9-Thread-2] DEBUG loci.formats.FormatHandler - 3i SlideBook SlideBook6Reader library not found. Please see
<a href="http://www.openmicroscopy.org/site/support/bio-formats/formats/3i-slidebook.html">
http://www.openmicroscopy.org/site/support/bio-formats/formats/3i-slidebook.html</a> for details.<br>
java.lang.UnsatisfiedLinkError: null<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at loci.formats.in.SlideBook6Reader.<clinit>(SlideBook6Reader.java:90) ~[formats-gpl-5.1.5.jar:5.1.5]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at java.lang.Class.forName0(Native Method) [na:1.8.0_40]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at java.lang.Class.forName(Class.java:264) [na:1.8.0_40]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at loci.formats.ClassList.<init>(ClassList.java:127) [formats-api-5.1.5.jar:5.1.5]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at loci.formats.ClassList.<init>(ClassList.java:85) [formats-api-5.1.5.jar:5.1.5]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at loci.formats.ImageReader.getDefaultReaderClasses(ImageReader.java:78) [formats-api-5.1.5.jar:5.1.5]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at loci.formats.ImageReader.<init>(ImageReader.java:115) [formats-api-5.1.5.jar:5.1.5]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at loci.formats.ReaderWrapper.<init>(ReaderWrapper.java:62) [formats-api-5.1.5.jar:5.1.5]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at loci.formats.ChannelSeparator.<init>(ChannelSeparator.java:78) [formats-bsd-5.1.5.jar:5.1.5]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at NdpiTileColorSeparator.tile2GcStack(NdpiTileColorSeparator.java:219) [classes/:na]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at NdpiTileColorSeparator.run(NdpiTileColorSeparator.java:123) [classes/:na]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at org.scijava.command.CommandModule.run(CommandModule.java:201) [scijava-common-2.47.0.jar:2.47.0]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at org.scijava.module.ModuleRunner.run(ModuleRunner.java:167) [scijava-common-2.47.0.jar:2.47.0]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at org.scijava.module.ModuleRunner.call(ModuleRunner.java:126) [scijava-common-2.47.0.jar:2.47.0]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at org.scijava.module.ModuleRunner.call(ModuleRunner.java:65) [scijava-common-2.47.0.jar:2.47.0]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at org.scijava.thread.DefaultThreadService$2.call(DefaultThreadService.java:191) [scijava-common-2.47.0.jar:2.47.0]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_40]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_40]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_40]<br>
<span class="Apple-tab-span" style="white-space: pre;"></span>at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40]<br>
<br>
<br>
Best regards, <br>
<br>
-------------------------------------<br>
Felix Meyenhofer<br>
University of Fribourg<br>
Departement of Medicine - Anatomy<br>
1, Rte. Albert Gockel<br>
CH-1700 Fribourg <br>
<br>
Tel:  +41 26 300 85 45<br>
Web:  <a href="http://www.unifr.ch/anatomy">www.unifr.ch/anatomy</a><br>
     <a href="http://www.unifr.ch/bioimage">www.unifr.ch/bioimage</a><br>
-------------------------------------<br>
<br>
_______________________________________________<br>
ome-users mailing list<br>
<a href="mailto:ome-users@lists.openmicroscopy.org.uk">ome-users@lists.openmicroscopy.org.uk</a><br>
http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-users<br>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<span style="font-size: 10pt;">The University of Dundee is a registered Scottish Charity, No: SC015096</span>
</div>
</div>
</div>
<br>
<span style="font-size:10pt;">The University of Dundee is a registered Scottish Charity, No: SC015096</span>
</body>
</html>