Files

441 lines
22 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>RotatingLogFileConfiguration 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/RotatingLogFileConfiguration" class="dashAnchor"></a>
<a title="RotatingLogFileConfiguration 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" />
RotatingLogFileConfiguration 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>RotatingLogFileConfiguration</h1>
<div class="declaration">
<div class="language">
<pre class="highlight"><code><span class="n">open</span> <span class="kd">class</span> <span class="kt">RotatingLogFileConfiguration</span><span class="p">:</span> <span class="kt"><a href="../Classes/BasicLogConfiguration.html">BasicLogConfiguration</a></span></code></pre>
</div>
</div>
<p>A <code><a href="../Protocols/LogConfiguration.html">LogConfiguration</a></code> that uses an underlying <code><a href="../Classes/RotatingLogFileRecorder.html">RotatingLogFileRecorder</a></code> to
maintain a directory of log files that are rotated on a daily basis.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:15CleanroomLogger28RotatingLogFileConfigurationC13directoryPathSSv"></a>
<a name="//apple_ref/swift/Property/directoryPath" class="dashAnchor"></a>
<a class="token" href="#/s:15CleanroomLogger28RotatingLogFileConfigurationC13directoryPathSSv">directoryPath</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The filesystem path to a directory where the log files will be
stored.</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">var</span> <span class="nv">directoryPath</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:15CleanroomLogger28RotatingLogFileConfigurationCAcA0D8SeverityO07minimumG0_Si10daysToKeepSS13directoryPathSb15synchronousModeSayAA0D6Filter_pG7filtersSayAA0D9Formatter_pG10formatterstcfc"></a>
<a name="//apple_ref/swift/Method/init(minimumSeverity:daysToKeep:directoryPath:synchronousMode:filters:formatters:)" class="dashAnchor"></a>
<a class="token" href="#/s:15CleanroomLogger28RotatingLogFileConfigurationCAcA0D8SeverityO07minimumG0_Si10daysToKeepSS13directoryPathSb15synchronousModeSayAA0D6Filter_pG7filtersSayAA0D9Formatter_pG10formatterstcfc">init(minimumSeverity:daysToKeep:directoryPath:synchronousMode:filters:formatters:)</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>RotatingLogFileConfiguration</code> instance.</p>
<div class="aside aside-warning">
<p class="aside-title">Warning</p>
<p>The <code><a href="../Classes/RotatingLogFileRecorder.html">RotatingLogFileRecorder</a></code> created by this configuration
assumes full control over the log directory specified as <code><a href="../Classes/RotatingLogFileConfiguration.html#/s:15CleanroomLogger28RotatingLogFileConfigurationC13directoryPathSSv">directoryPath</a></code>.
Any file not recognized as an active log file will be deleted during the
automatic pruning process, which may occur at any time. Therefore, be
<strong>extremely careful</strong> when constructing the value passed in as the
<code><a href="../Classes/RotatingLogFileConfiguration.html#/s:15CleanroomLogger28RotatingLogFileConfigurationC13directoryPathSSv">directoryPath</a></code>.</p>
</div>
</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="p">,</span> <span class="nv">daysToKeep</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="nv">directoryPath</span><span class="p">:</span> <span class="kt">String</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">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">formatters</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Protocols/LogFormatter.html">LogFormatter</a></span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="kt"><a href="../Classes/ReadableLogFormatter.html">ReadableLogFormatter</a></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 supported <code>LogSeverity</code>. Any
<code>LogEntry</code> having a <code>severity</code> less than <code>minimumSeverity</code> will be silently
ignored by the configuration.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>daysToKeep</em>
</code>
</td>
<td>
<div>
<p>The number of days for which log files should be
retained.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>directoryPath</em>
</code>
</td>
<td>
<div>
<p>The filesystem path of the directory where the
log files will be stored. Please note the warning above regarding the
<code>directoryPath</code>.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>synchronousMode</em>
</code>
</td>
<td>
<div>
<p>Determines whether synchronous mode will be
used by the underlying <code>RotatingLogFileRecorder</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>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 for recording.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>formatters</em>
</code>
</td>
<td>
<div>
<p>An array of <code>LogFormatter</code>s to use for formatting
log entries to be recorded by the receiver. Each formatter is consulted in
sequence, and the formatted string returned by the first formatter to
yield a non-<code>nil</code> value will be recorded. If every formatter returns <code>nil</code>,
the log entry is silently ignored and not recorded.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:15CleanroomLogger28RotatingLogFileConfigurationC06createD9DirectoryyyKF"></a>
<a name="//apple_ref/swift/Method/createLogDirectory()" class="dashAnchor"></a>
<a class="token" href="#/s:15CleanroomLogger28RotatingLogFileConfigurationC06createD9DirectoryyyKF">createLogDirectory()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Attempts to create—if it does not already exist—the directory indicated
by the <code><a href="../Classes/RotatingLogFileConfiguration.html#/s:15CleanroomLogger28RotatingLogFileConfigurationC13directoryPathSSv">directoryPath</a></code> property.</p>
<div class="aside aside-throws">
<p class="aside-title">Throws</p>
If the function fails to create a directory at <code><a href="../Classes/RotatingLogFileConfiguration.html#/s:15CleanroomLogger28RotatingLogFileConfigurationC13directoryPathSSv">directoryPath</a></code>.
</div>
</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="kd">func</span> <span class="nf">createLogDirectory</span><span class="p">()</span>
<span class="k">throws</span></code></pre>
</div>
</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>