Files

502 lines
26 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en">
<head>
<title>BasicLogConfiguration Class Reference</title>
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
<meta charset='utf-8'>
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Class/BasicLogConfiguration" class="dashAnchor"></a>
<a title="BasicLogConfiguration Class Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../index.html">CleanroomLogger Docs</a> (100% documented)</p>
<p class="header-right"><a href="https://github.com/emaloney/CleanroomLogger"><img src="../img/gh.png"/>View on GitHub</a></p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../index.html">CleanroomLogger Reference</a>
<img id="carat" src="../img/carat.png" />
BasicLogConfiguration Class Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Classes/BasicLogConfiguration.html">BasicLogConfiguration</a>
</li>
<li class="nav-group-task">
<a href="../Classes/BufferedLogEntryMessageRecorder.html">BufferedLogEntryMessageRecorder</a>
</li>
<li class="nav-group-task">
<a href="../Classes/BufferedLogEntryRecorder.html">BufferedLogEntryRecorder</a>
</li>
<li class="nav-group-task">
<a href="../Classes/BufferedLogRecorder.html">BufferedLogRecorder</a>
</li>
<li class="nav-group-task">
<a href="../Classes/BufferedMessageRecorder.html">BufferedMessageRecorder</a>
</li>
<li class="nav-group-task">
<a href="../Classes/ConcatenatingLogFormatter.html">ConcatenatingLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Classes/ConsoleLogConfiguration.html">ConsoleLogConfiguration</a>
</li>
<li class="nav-group-task">
<a href="../Classes/ConsoleLogConfiguration/StandardStreamsMode.html">– StandardStreamsMode</a>
</li>
<li class="nav-group-task">
<a href="../Classes/FieldBasedLogFormatter.html">FieldBasedLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Classes/FieldBasedLogFormatter/Field.html">– Field</a>
</li>
<li class="nav-group-task">
<a href="../Classes/FileLogRecorder.html">FileLogRecorder</a>
</li>
<li class="nav-group-task">
<a href="../Classes/LogReceptacle.html">LogReceptacle</a>
</li>
<li class="nav-group-task">
<a href="../Classes/LogRecorderBase.html">LogRecorderBase</a>
</li>
<li class="nav-group-task">
<a href="../Classes/OutputStreamLogRecorder.html">OutputStreamLogRecorder</a>
</li>
<li class="nav-group-task">
<a href="../Classes/ParsableLogFormatter.html">ParsableLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Classes/ReadableLogFormatter.html">ReadableLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Classes/RotatingLogFileConfiguration.html">RotatingLogFileConfiguration</a>
</li>
<li class="nav-group-task">
<a href="../Classes/RotatingLogFileRecorder.html">RotatingLogFileRecorder</a>
</li>
<li class="nav-group-task">
<a href="../Classes/StandardErrorLogRecorder.html">StandardErrorLogRecorder</a>
</li>
<li class="nav-group-task">
<a href="../Classes/StandardLogFormatter.html">StandardLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Classes/StandardOutputLogRecorder.html">StandardOutputLogRecorder</a>
</li>
<li class="nav-group-task">
<a href="../Classes/StandardStreamsLogRecorder.html">StandardStreamsLogRecorder</a>
</li>
<li class="nav-group-task">
<a href="../Classes/XcodeLogConfiguration.html">XcodeLogConfiguration</a>
</li>
<li class="nav-group-task">
<a href="../Classes/XcodeLogFormatter.html">XcodeLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Classes/XcodeTraceLogFormatter.html">XcodeTraceLogFormatter</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Enums.html">Enums</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Enums/CallingThreadStyle.html">CallingThreadStyle</a>
</li>
<li class="nav-group-task">
<a href="../Enums/DelimiterStyle.html">DelimiterStyle</a>
</li>
<li class="nav-group-task">
<a href="../Enums/LogSeverity.html">LogSeverity</a>
</li>
<li class="nav-group-task">
<a href="../Enums/OSLogTypeTranslator.html">OSLogTypeTranslator</a>
</li>
<li class="nav-group-task">
<a href="../Enums/SeverityStyle.html">SeverityStyle</a>
</li>
<li class="nav-group-task">
<a href="../Enums/SeverityStyle/TextRepresentation.html">– TextRepresentation</a>
</li>
<li class="nav-group-task">
<a href="../Enums/TimestampStyle.html">TimestampStyle</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Protocols/LogConfiguration.html">LogConfiguration</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/LogFilter.html">LogFilter</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/LogFormatter.html">LogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/LogRecorder.html">LogRecorder</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structs</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/CallSiteLogFormatter.html">CallSiteLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Structs/CallingThreadLogFormatter.html">CallingThreadLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DelimiterLogFormatter.html">DelimiterLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LiteralLogFormatter.html">LiteralLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Log.html">Log</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LogChannel.html">LogChannel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LogEntry.html">LogEntry</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LogEntry/Payload.html">– Payload</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LogSeverityFilter.html">LogSeverityFilter</a>
</li>
<li class="nav-group-task">
<a href="../Structs/OSLogRecorder.html">OSLogRecorder</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PayloadLogFormatter.html">PayloadLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PayloadMessageLogFormatter.html">PayloadMessageLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PayloadTraceLogFormatter.html">PayloadTraceLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PayloadValueLogFormatter.html">PayloadValueLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Structs/ProcessIDLogFormatter.html">ProcessIDLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Structs/ProcessNameLogFormatter.html">ProcessNameLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Structs/SeverityLogFormatter.html">SeverityLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Structs/StackFrameLogFormatter.html">StackFrameLogFormatter</a>
</li>
<li class="nav-group-task">
<a href="../Structs/TimestampLogFormatter.html">TimestampLogFormatter</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>BasicLogConfiguration</h1>
<div class="declaration">
<div class="language">
<pre class="highlight"><code><span class="n">open</span> <span class="kd">class</span> <span class="kt">BasicLogConfiguration</span><span class="p">:</span> <span class="kt"><a href="../Protocols/LogConfiguration.html">LogConfiguration</a></span></code></pre>
</div>
</div>
<p>In case the name didn&rsquo;t give it away, the <code>BasicLogConfiguration</code> class
provides a basic implementation of the <code><a href="../Protocols/LogConfiguration.html">LogConfiguration</a></code> protocol.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:15CleanroomLogger21BasicLogConfigurationC15minimumSeverityAA0dG0Ov"></a>
<a name="//apple_ref/swift/Property/minimumSeverity" class="dashAnchor"></a>
<a class="token" href="#/s:15CleanroomLogger21BasicLogConfigurationC15minimumSeverityAA0dG0Ov">minimumSeverity</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The minimum <code><a href="../Enums/LogSeverity.html">LogSeverity</a></code> supported by the configuration.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="n">open</span> <span class="k">let</span> <span class="nv">minimumSeverity</span><span class="p">:</span> <span class="kt"><a href="../Enums/LogSeverity.html">LogSeverity</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:15CleanroomLogger21BasicLogConfigurationC7filtersSayAA0D6Filter_pGv"></a>
<a name="//apple_ref/swift/Property/filters" class="dashAnchor"></a>
<a class="token" href="#/s:15CleanroomLogger21BasicLogConfigurationC7filtersSayAA0D6Filter_pGv">filters</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code><a href="../Protocols/LogFilter.html">LogFilter</a></code>s to use when deciding whether a given <code><a href="../Structs/LogEntry.html">LogEntry</a></code> should
be passed along to the receiver&rsquo;s <code><a href="../Classes/BasicLogConfiguration.html#/s:15CleanroomLogger21BasicLogConfigurationC9recordersSayAA0D8Recorder_pGv">recorders</a></code>. If any filter returns
<code>false</code> from <code>shouldRecordLogEntry(_:)</code>, the <code><a href="../Structs/LogEntry.html">LogEntry</a></code> will be silently
ignored when being processed for this <code><a href="../Protocols/LogConfiguration.html">LogConfiguration</a></code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="n">open</span> <span class="k">let</span> <span class="nv">filters</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Protocols/LogFilter.html">LogFilter</a></span><span class="p">]</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:15CleanroomLogger21BasicLogConfigurationC9recordersSayAA0D8Recorder_pGv"></a>
<a name="//apple_ref/swift/Property/recorders" class="dashAnchor"></a>
<a class="token" href="#/s:15CleanroomLogger21BasicLogConfigurationC9recordersSayAA0D8Recorder_pGv">recorders</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code><a href="../Protocols/LogRecorder.html">LogRecorder</a></code>s to use for recording any <code><a href="../Structs/LogEntry.html">LogEntry</a></code> that has passed
the filtering process.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="n">open</span> <span class="k">let</span> <span class="nv">recorders</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Protocols/LogRecorder.html">LogRecorder</a></span><span class="p">]</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:15CleanroomLogger21BasicLogConfigurationC15synchronousModeSbv"></a>
<a name="//apple_ref/swift/Property/synchronousMode" class="dashAnchor"></a>
<a class="token" href="#/s:15CleanroomLogger21BasicLogConfigurationC15synchronousModeSbv">synchronousMode</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>A flag indicating whether synchronous mode will be used when passing
<code><a href="../Structs/LogEntry.html">LogEntry</a></code> instances to the receiver&rsquo;s <code><a href="../Classes/BasicLogConfiguration.html#/s:15CleanroomLogger21BasicLogConfigurationC9recordersSayAA0D8Recorder_pGv">recorders</a></code>. Synchronous mode is
helpful while debugging, as it ensures that logs are always up-to-date
when debug breakpoints are hit. However, synchronous mode can have a
negative influence on performance and is therefore not recommended for use
in production code.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="n">open</span> <span class="k">let</span> <span class="nv">synchronousMode</span><span class="p">:</span> <span class="kt">Bool</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:15CleanroomLogger21BasicLogConfigurationC14configurationsSayAA0dE0_pGSgv"></a>
<a name="//apple_ref/swift/Property/configurations" class="dashAnchor"></a>
<a class="token" href="#/s:15CleanroomLogger21BasicLogConfigurationC14configurationsSayAA0dE0_pGSgv">configurations</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>For organizational purposes, a given <code><a href="../Protocols/LogConfiguration.html">LogConfiguration</a></code> may in turn
contain one or more additional <code><a href="../Protocols/LogConfiguration.html">LogConfiguration</a></code>s. Each contained
<code><a href="../Protocols/LogConfiguration.html">LogConfiguration</a></code> is an entirely separate entity; children do not inherit
any state from parent containers.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="n">open</span> <span class="k">let</span> <span class="nv">configurations</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Protocols/LogConfiguration.html">LogConfiguration</a></span><span class="p">]?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:15CleanroomLogger21BasicLogConfigurationCAcA0D8SeverityO07minimumF0_SayAA0D6Filter_pG7filtersSayAA0D8Recorder_pG9recordersSb15synchronousModeSayAA0dE0_pGSg14configurationstcfc"></a>
<a name="//apple_ref/swift/Method/init(minimumSeverity:filters:recorders:synchronousMode:configurations:)" class="dashAnchor"></a>
<a class="token" href="#/s:15CleanroomLogger21BasicLogConfigurationCAcA0D8SeverityO07minimumF0_SayAA0D6Filter_pG7filtersSayAA0D8Recorder_pG9recordersSb15synchronousModeSayAA0dE0_pGSg14configurationstcfc">init(minimumSeverity:filters:recorders:synchronousMode:configurations:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initializes a new <code>BasicLogConfiguration</code> instance.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">minimumSeverity</span><span class="p">:</span> <span class="kt"><a href="../Enums/LogSeverity.html">LogSeverity</a></span> <span class="o">=</span> <span class="o">.</span><span class="n">info</span><span class="p">,</span> <span class="nv">filters</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Protocols/LogFilter.html">LogFilter</a></span><span class="p">]</span> <span class="o">=</span> <span class="p">[],</span> <span class="nv">recorders</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Protocols/LogRecorder.html">LogRecorder</a></span><span class="p">]</span> <span class="o">=</span> <span class="p">[],</span> <span class="nv">synchronousMode</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">false</span><span class="p">,</span> <span class="nv">configurations</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Protocols/LogConfiguration.html">LogConfiguration</a></span><span class="p">]?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>minimumSeverity</em>
</code>
</td>
<td>
<div>
<p>The minimum <code>LogSeverity</code> supported by the
configuration. Log entries having a <code>severity</code> less than <code>minimumSeverity</code>
will not be passed to the receiver&rsquo;s <code>recorders</code>.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>filters</em>
</code>
</td>
<td>
<div>
<p>The <code>LogFilter</code>s to use when deciding whether a given
<code>LogEntry</code> should be passed along to the receiver&rsquo;s <code>LogRecorder</code>s.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>recorders</em>
</code>
</td>
<td>
<div>
<p>The <code>LogRecorder</code>s to use for recording any
<code>LogEntry</code> that has passed the filtering process.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>synchronousMode</em>
</code>
</td>
<td>
<div>
<p>Determines whether synchronous mode will be
used when passing <code>LogEntry</code> instances to the receiver&rsquo;s <code>recorders</code>.
Synchronous mode is helpful while debugging, as it ensures that logs are
always up-to-date when debug breakpoints are hit. However, synchronous
mode can have a negative influence on performance and is therefore not
recommended for use in production code.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>configurations</em>
</code>
</td>
<td>
<div>
<p>Optional <code>LogConfiguration</code>s. For
organizational purposes, a given <code>LogConfiguration</code> may in turn contain
one or more additional <code>LogConfiguration</code>s. Note that these are handled
as entirely separate entities; the receiver&rsquo;s state does not affect the
behavior of the contained configurations in any way.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>© 2015-2017 <a class="link" href="http://tech.gilt.com/" target="_blank" rel="external">Gilt Groupe</a></p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.8.3</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>