Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 2

Global variables

logger

global logger instance that can be imported in other modules.

Examples

>>> # This example demonstrates how to import the global logger in other Python modules. 

>>> # Assume that logger is imported below in test.py that resides in the same folder as extension.py

>>> from universal_extension import logger

>>> logger.info('sample info message from test.py')

>>> logger.warning('sample warning message from test.py')

>>> logger.critical('sample critical message from test.py')

Classes

class ExtensionLogger (name)

Class for providing logging functionality for Universal Extensions. Do not instantiate this class directly. UniversalExtension instantiates this class via a call to the logging.getLogger API call. See the example above for instructions on obtaining the logger instance.

The following log levels are officially supported:

  • CRITICAL
  • ERROR
  • WARNING
  • INFO
  • DEBUG
In addition to the levels listed above, there is another level, TRACE, which is used by the Universal Extension internal API. It is NOT available for use in developing Extensions.
Note
Html bobswift
<!doctype html>
<html lang="en">
<body>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
<meta name="generator" content="pdoc 0.10.0" />
<title>universal_extension.logger API documentation</title>
<meta name="description" content="" />
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/sanitize.min.css" integrity="sha256-PK9q560IAAa6WVRRh76LtCaI8pjTJ2z11v0miyNNjrs=" crossorigin>
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/typography.min.css" integrity="sha256-7l/o7C8jubJiy74VsKTidCy1yBkRtiUGbVkYBylBqUg=" crossorigin>
<link rel="stylesheet preload" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/styles/github.min.css" crossorigin>
<style>:root{--highlight-color:#fe9}.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}#sidebar > *:last-child{margin-bottom:2cm}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;padding:0em 0em 0.75em 0em !important}h4{margin:0;font-size:105%}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{background:var(--highlight-color);padding:.2em 0}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold;font-size:1.5em !important}.classes-title{padding:1em 0em 0em 0em !important;font-weight:bold !important}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{margin-top:.6em;font-weight:bold}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:none;font-weight:500;font-size:1.1em;padding:5px 10px;display:inline-block;min-width:40%}dt:target .name{background:var(--highlight-color)}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}td{padding:0 .5em}admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{color:#00529B;background-color:#BDE5F8;border-left:solid 4px #3498db;line-height:18px;padding:5px;margin:0.5em 0em}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{color:#9F6000;background-color:#FEEFB3;border-left:solid 4px #ec8e00;line-height:18px;padding:5px;margin:0.5em 0em}.admonition.error,.admonition.danger,.admonition.caution{color:#D8000C;background-color:#FFD2D2;border-left:solid 4px #DB1924;line-height:18px;padding:5px;margin:0.5em 0em}pre{background-color:#eeffcc;word-wrap:break-word;border:1px solid #ac9;padding:5px}pre code{background:none}hr{width:95%}.thick-line{height:2.5px;border-width:0;color:gray;background-color:gray}</style>
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%;height:100vh;overflow:auto;position:sticky;top:0}#content{width:100%;padding:0em}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
<main>
<article id="content">
<section id="section-intro">
</section>
<section>
</section>
<section>
<h1 class="classes-title">Global variables</h1>
<dl>
<dt id="universal_extension.logger.logger"><code class="name"><span class="ident">logger</span></code></dt>
<dd>
<div class="desc"><p>global <code><a title="universal_extension.logger.logger" href="#universal_extension.logger.logger">logger</a></code> instance that can be imported in other modules.</p>
<h2 id="examples">Examples</h2>
<pre><code>>>> # This example demonstrates how to import the global logger in other Python modules. 
>>> # Assume that logger is imported below in test.py that resides in the same folder as extension.py
>>> from universal_extension import logger
>>> logger.info('sample info message from test.py')
>>> logger.warning('sample warning message from test.py')
>>> logger.critical('sample critical message from test.py')
</code></pre></div>
</dd>
</dl>
</section>
<section>
</section>
<section>
<h1 class="classes-title">Classes</h1>
<dl>
<dt id="universal_extension.logger.ExtensionLogger"><code class="flex name class">
<span>class <span class="ident">ExtensionLogger</span></span>
<span>(</span><span>name)</span>
</code></dt>
<dd>
<div class="desc"><p>Class for providing logging functionality for Universal Extensions.
Do not instantiate this class directly. UniversalExtension instantiates
this class via a call to the <code>logging.getLogger</code> API call. See the example
above for instructions on obtaining the <code><a title="universal_extension.logger.logger" href="#universal_extension.logger.logger">logger</a></code> instance.</p>
<p>The following log levels are officially supported:</p>
<ul>
<li>CRITICAL</li>
<li>ERROR
</li>
<li>WARNING </li>
<li>INFO
</li>
<li>DEBUG
</li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>In addition to the levels listed above, there is another level, <strong>TRACE</strong>, which
is used by the Universal Extension internal API. It is <strong>NOT</strong> available for use
in developing Extensions.</p>
</div></div>
</dd>
<dd>
</dl>
</dd>
<hr class="thick-line">
</dl>
</section>
</article>
</main>
</body>
</html>