amos-ionic-logging
Version:
Components for Ionic logging
1,368 lines (1,158 loc) • 53.3 kB
HTML
<!doctype html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>ionic-logging-service</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../images/favicon.ico">
<link rel="stylesheet" href="../styles/style.css">
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top visible-xs">
<a href="../" class="navbar-brand">ionic-logging-service</a>
<button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button>
</div>
<div class="xs-menu menu" id="mobile-menu">
<div id="book-search-input" role="search"><input type="text" placeholder="Type to search"></div> <compodoc-menu></compodoc-menu>
</div>
<div class="container-fluid main">
<div class="row main">
<div class="hidden-xs menu">
<compodoc-menu mode="normal"></compodoc-menu>
</div>
<!-- START CONTENT -->
<div class="content class">
<div class="content-data">
<ol class="breadcrumb">
<li>Classes</li>
<li>Logger</li>
</ol>
<ul class="nav nav-tabs" role="tablist">
<li class="active">
<a href="#info" role="tab" id="info-tab" data-toggle="tab" data-link="info">Info</a>
</li>
<li >
<a href="#source" role="tab" id="source-tab" data-toggle="tab" data-link="source">Source</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade active in" id="c-info">
<p class="comment">
<h3>File</h3>
</p>
<p class="comment">
<code>src/lib/logger.model.ts</code>
</p>
<p class="comment">
<h3>Description</h3>
</p>
<p class="comment">
<p>Logger for writing log messages.</p>
</p>
<section>
<h3 id="index">Index</h3>
<table class="table table-sm table-bordered index-table">
<tbody>
<tr>
<td class="col-md-4">
<h6><b>Methods</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<span class="modifier">Public</span>
<a href="#debug">debug</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#entry">entry</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#error">error</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#exit">exit</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#fatal">fatal</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#formatArgument">formatArgument</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#getInternalLogger">getInternalLogger</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#getLogLevel">getLogLevel</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#info">info</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#setLogLevel">setLogLevel</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#trace">trace</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#warn">warn</a>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<h3 id="constructor">Constructor</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<code>constructor(logger?: string | any)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="11" class="link-to-prism">src/lib/logger.model.ts:11</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Creates a new instance of a logger.</p>
</div>
<div>
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>logger</td>
<td>
<code>string | any</code>
</td>
<td>
Yes
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<h3 id="methods">
Methods
</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="debug"></a>
<span class="name">
<b>
<span class="modifier">Public</span>
debug
</b>
<a href="#debug"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>debug(methodName: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>, ...params: any[])</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="64"
class="link-to-prism">src/lib/logger.model.ts:64</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Logs a message at level DEBUG.</p>
</div>
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>methodName</td>
<td>
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
<td>
No
</td>
<td>
<p>name of the method</p>
</td>
</tr>
<tr>
<td>params</td>
<td>
<code>any[]</code>
</td>
<td>
No
</td>
<td>
<p>optional parameters to be logged; objects will be formatted as JSON</p>
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="entry"></a>
<span class="name">
<b>
<span class="modifier">Public</span>
entry
</b>
<a href="#entry"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>entry(methodName: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>, ...params: any[])</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="145"
class="link-to-prism">src/lib/logger.model.ts:145</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Logs the entry into a method.
The method name will be logged at level INFO, the parameters at level DEBUG.</p>
</div>
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>methodName</td>
<td>
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
<td>
No
</td>
<td>
<p>name of the method</p>
</td>
</tr>
<tr>
<td>params</td>
<td>
<code>any[]</code>
</td>
<td>
No
</td>
<td>
<p>optional parameters to be logged; objects will be formatted as JSON</p>
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="error"></a>
<span class="name">
<b>
<span class="modifier">Public</span>
error
</b>
<a href="#error"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>error(methodName: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>, ...params: any[])</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="112"
class="link-to-prism">src/lib/logger.model.ts:112</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Logs a message at level ERROR.</p>
</div>
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>methodName</td>
<td>
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
<td>
No
</td>
<td>
<p>name of the method</p>
</td>
</tr>
<tr>
<td>params</td>
<td>
<code>any[]</code>
</td>
<td>
No
</td>
<td>
<p>optional parameters to be logged; objects will be formatted as JSON</p>
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="exit"></a>
<span class="name">
<b>
<span class="modifier">Public</span>
exit
</b>
<a href="#exit"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>exit(methodName: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>, ...params: any[])</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="164"
class="link-to-prism">src/lib/logger.model.ts:164</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Logs the exit of a method.
The method name will be logged at level INFO, the parameters at level DEBUG.</p>
</div>
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>methodName</td>
<td>
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
<td>
No
</td>
<td>
<p>name of the method</p>
</td>
</tr>
<tr>
<td>params</td>
<td>
<code>any[]</code>
</td>
<td>
No
</td>
<td>
<p>optional parameters to be logged; objects will be formatted as JSON</p>
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="fatal"></a>
<span class="name">
<b>
<span class="modifier">Public</span>
fatal
</b>
<a href="#fatal"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>fatal(methodName: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>, ...params: any[])</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="128"
class="link-to-prism">src/lib/logger.model.ts:128</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Logs a message at level FATAL.</p>
</div>
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>methodName</td>
<td>
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
<td>
No
</td>
<td>
<p>name of the method</p>
</td>
</tr>
<tr>
<td>params</td>
<td>
<code>any[]</code>
</td>
<td>
No
</td>
<td>
<p>optional parameters to be logged; objects will be formatted as JSON</p>
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="formatArgument"></a>
<span class="name">
<b>
<span class="modifier">Public</span>
formatArgument
</b>
<a href="#formatArgument"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>formatArgument(arg: <a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank">any</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="179"
class="link-to-prism">src/lib/logger.model.ts:179</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Formats the given argument.</p>
</div>
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>arg</td>
<td>
<code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="getInternalLogger"></a>
<span class="name">
<b>
<span class="modifier">Public</span>
getInternalLogger
</b>
<a href="#getInternalLogger"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>getInternalLogger()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="199"
class="link-to-prism">src/lib/logger.model.ts:199</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Returns the internal Logger (for unit tests only).</p>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="../classes/Logger.html" target="_self" >log4javascript.Logger</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="getLogLevel"></a>
<span class="name">
<b>
<span class="modifier">Public</span>
getLogLevel
</b>
<a href="#getLogLevel"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>getLogLevel()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="29"
class="link-to-prism">src/lib/logger.model.ts:29</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Get the log level.</p>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="../miscellaneous/enumerations.html#LogLevel" target="_self" >LogLevel</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="info"></a>
<span class="name">
<b>
<span class="modifier">Public</span>
info
</b>
<a href="#info"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>info(methodName: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>, ...params: any[])</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="80"
class="link-to-prism">src/lib/logger.model.ts:80</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Logs a message at level INFO.</p>
</div>
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>methodName</td>
<td>
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
<td>
No
</td>
<td>
<p>name of the method</p>
</td>
</tr>
<tr>
<td>params</td>
<td>
<code>any[]</code>
</td>
<td>
No
</td>
<td>
<p>optional parameters to be logged; objects will be formatted as JSON</p>
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="setLogLevel"></a>
<span class="name">
<b>
<span class="modifier">Public</span>
setLogLevel
</b>
<a href="#setLogLevel"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>setLogLevel(level: <a href="../undefineds/LogLevel.html">LogLevel</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="38"
class="link-to-prism">src/lib/logger.model.ts:38</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Set the log level.</p>
</div>
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>level</td>
<td>
<code><a href="../miscellaneous/enumerations.html#LogLevel" target="_self" >LogLevel</a></code>
</td>
<td>
No
</td>
<td>
<p>the new log level</p>
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="trace"></a>
<span class="name">
<b>
<span class="modifier">Public</span>
trace
</b>
<a href="#trace"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>trace(methodName: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>, ...params: any[])</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="48"
class="link-to-prism">src/lib/logger.model.ts:48</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Logs a message at level TRACE.</p>
</div>
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>methodName</td>
<td>
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
<td>
No
</td>
<td>
<p>name of the method</p>
</td>
</tr>
<tr>
<td>params</td>
<td>
<code>any[]</code>
</td>
<td>
No
</td>
<td>
<p>optional parameters to be logged; objects will be formatted as JSON</p>
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="warn"></a>
<span class="name">
<b>
<span class="modifier">Public</span>
warn
</b>
<a href="#warn"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>warn(methodName: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>, ...params: any[])</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="96"
class="link-to-prism">src/lib/logger.model.ts:96</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Logs a message at level WARN.</p>
</div>
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>methodName</td>
<td>
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
<td>
No
</td>
<td>
<p>name of the method</p>
</td>
</tr>
<tr>
<td>params</td>
<td>
<code>any[]</code>
</td>
<td>
No
</td>
<td>
<p>optional parameters to be logged; objects will be formatted as JSON</p>
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
</section>
</div>
<div class="tab-pane fade tab-source-code" id="c-source">
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import * as log4javascript from "log4javascript";
import { LogLevelConverter } from "./log-level.converter";
import { LogLevel } from "./log-level.model";
/**
* Logger for writing log messages.
*/
export class Logger {
private logger: log4javascript.Logger;
/**
* Creates a new instance of a logger.
*/
constructor(logger?: string | any) {
if (typeof logger === "undefined") {
this.logger = log4javascript.getRootLogger();
} else if (typeof logger === "string") {
this.logger = log4javascript.getLogger(logger);
} else {
this.logger = logger;
}
}
/**
* Get the log level.
*/
public getLogLevel(): LogLevel {
return LogLevelConverter.levelFromLog4Javascript(this.logger.getLevel());
}
/**
* Set the log level.
*
* @param level the new log level
*/
public setLogLevel(level: LogLevel): void {
this.logger.setLevel(LogLevelConverter.levelToLog4Javascript(level));
}
/**
* Logs a message at level TRACE.
*
* @param methodName name of the method
* @param params optional parameters to be logged; objects will be formatted as JSON
*/
public trace(methodName: string, ...params: any[]): void {
if (this.logger.isTraceEnabled()) {
const args = [methodName];
for (const param of params) {
args.push(this.formatArgument(param));
}
this.logger.trace.apply(this.logger, args);
}
}
/**
* Logs a message at level DEBUG.
*
* @param methodName name of the method
* @param params optional parameters to be logged; objects will be formatted as JSON
*/
public debug(methodName: string, ...params: any[]): void {
if (this.logger.isDebugEnabled()) {
const args = [methodName];
for (const param of params) {
args.push(this.formatArgument(param));
}
this.logger.debug.apply(this.logger, args);
}
}
/**
* Logs a message at level INFO.
*
* @param methodName name of the method
* @param params optional parameters to be logged; objects will be formatted as JSON
*/
public info(methodName: string, ...params: any[]): void {
if (this.logger.isInfoEnabled()) {
const args = [methodName];
for (const param of params) {
args.push(this.formatArgument(param));
}
this.logger.info.apply(this.logger, args);
}
}
/**
* Logs a message at level WARN.
*
* @param methodName name of the method
* @param params optional parameters to be logged; objects will be formatted as JSON
*/
public warn(methodName: string, ...params: any[]): void {
if (this.logger.isWarnEnabled()) {
const args = [methodName];
for (const param of params) {
args.push(this.formatArgument(param));
}
this.logger.warn.apply(this.logger, args);
}
}
/**
* Logs a message at level ERROR.
*
* @param methodName name of the method
* @param params optional parameters to be logged; objects will be formatted as JSON
*/
public error(methodName: string, ...params: any[]): void {
if (this.logger.isErrorEnabled()) {
const args = [methodName];
for (const param of params) {
args.push(this.formatArgument(param));
}
this.logger.error.apply(this.logger, args);
}
}
/**
* Logs a message at level FATAL.
*
* @param methodName name of the method
* @param params optional parameters to be logged; objects will be formatted as JSON
*/
public fatal(methodName: string, ...params: any[]): void {
if (this.logger.isFatalEnabled()) {
const args = [methodName];
for (const param of params) {
args.push(this.formatArgument(param));
}
this.logger.fatal.apply(this.logger, args);
}
}
/**
* Logs the entry into a method.
* The method name will be logged at level INFO, the parameters at level DEBUG.
*
* @param methodName name of the method
* @param params optional parameters to be logged; objects will be formatted as JSON
*/
public entry(methodName: string, ...params: any[]): void {
if (this.logger.isInfoEnabled()) {
const args = [methodName, "entry"];
if (this.logger.isDebugEnabled()) {
for (const param of params) {
args.push(this.formatArgument(param));
}