This file is indexed.

/usr/share/doc/libbobcat4-dev/man/logbuffer.3.html is in libbobcat-dev 4.08.02-2build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
<!DOCTYPE html><html><head>
<meta charset="UTF-8">
<title>FBB::LogBuffer(3bobcat)</title>
<style type="text/css">
    figure {text-align: center;}
    img {vertical-align: center;}
    .XXfc {margin-left:auto;margin-right:auto;}
    .XXtc {text-align: center;}
    .XXtl {text-align: left;}
    .XXtr {text-align: right;}
    .XXvt {vertical-align: top;}
    .XXvb {vertical-align: bottom;}
</style>
<link rev="made" href="mailto:Frank B. Brokken: f.b.brokken@rug.nl">
</head>
<body text="#27408B" bgcolor="#FFFAF0">
<hr/>
<h1 id="title">FBB::LogBuffer(3bobcat)</h1>
<h2 id="author">log messages stream buffer<br/>(libbobcat-dev_4.08.02-x.tar.gz)</h2>
<h2 id="date">2005-2017</h2>


<p>
<h2 >NAME</h2>FBB::LogBuffer -  <strong >std::streambuf</strong> handling log messages
<p>
<h2 >SYNOPSIS</h2>
    <strong >#include &lt;bobcat/logbuffer&gt;</strong><br/>
    Linking option: <em >-lbobcat</em> 
<p>
<h2 >DESCRIPTION</h2>
<p>
<strong >FBB::LogBuffer</strong> is a class derived from <strong >std::streambuf</strong> handling log
messages. The stream to log to, timestamps and log-levels can be configured
both at construction time and beyond. The <strong >FBB::LogBuffer</strong> may be used to
initialize a <strong >std::ostream</strong>. 
<p>
<h2 >NAMESPACE</h2>
    <strong >FBB</strong><br/>
    All constructors, members, operators and manipulators, mentioned in this
man-page, are defined in the namespace <strong >FBB</strong>.
<p>
<h2 >INHERITS FROM</h2>
    <strong >std::streambuf</strong>
<p>
<h2 >ENUMERATION</h2>
    The enumeration <strong >TimeStamps</strong> is defined in the namespace <strong >FBB</strong> to be
used when initializing <strong >FBB::LogBuffer</strong> objects. It has the following
values:
    <ul>
    <li> <strong >NOTIMESTAMPS</strong>:<br/>
        Log-messages will not have timestamps prepended to them.
    <li> <strong >TIMESTAMPS</strong>:<br/>
        Log-messages will have timestamps prepended to them.
    <li> <strong >UTCTIMESTAMPS</strong>:<br/>
        Log-messages will have timestamps showing the UTC time prepended to
        them.
    </ul>
<p>
<h2 >CONSTRUCTORS</h2>
    <ul>
    <li> <strong >LogBuffer(TimeStamps timestamps = TIMESTAMPS,
                bool active = true,
                char const *delim = " ")</strong>:<br/>
        This constructor constructs an <strong >FBB::LogBuffer</strong> object writing its
log-messages to <strong >std::cerr</strong>. If the <strong >active</strong> parameter is initialized to
<strong >false</strong> no messages will be logged until the buffer's activity is switched
on (see <strong >setActive()</strong> below).  The parameter <strong >delim</strong> is inserted
immediately beyond the time stamp. If a delimiter is inappropriate, an empty
string or a 0-pointer may be specified. When <strong >stamps == FBB::NOTIMESTAMPS
delim</strong> is ignored. A time stamp consists of the month, the day number of the
month and the (local) time of the current message, as usually appearing in
messages in <em >/var/log</em> files. E.g., <em >Aug 5 13:52:23</em>.
        <li> <strong >LogBuffer(std::ostream &amp;stream, 
                TimeStamps timestamps = TIMESTAMPS,
                bool active = true,
                char const *delim = " ")</strong>:<br/>
        This constructor constructs an <strong >FBB::LogBuffer</strong> object writing its
log-messages to the stream used to initialize its <strong >stream</strong> parameter. If the
<strong >active</strong> parameter is initialized to <strong >false</strong> no messages will be logged
until the buffer's activity is switched on (see <strong >setActive()</strong> below). The
parameter <strong >delim</strong> is inserted immediately beyond the time stamp. If a
delimiter is inappropriate, an empty string or a 0-pointer may be
specified. When <strong >stamps == FBB::NOTIMESTAMPS delim</strong> is ignored. A time stamp
consists of the month, the day number of the month and the (local) time of the
current message, as usually appearing in messages in <em >/var/log</em> files. E.g.,
<em >Aug 5 13:52:23</em>.
    </ul>
<p>
Copy and move constructors are not available.
<p>
<h2 >MEMBER FUNCTIONS</h2>
     All members of <strong >std::streambuf</strong> are available, as <strong >FBB::LogBuffer</strong>
inherits from this class. 
    <ul>
    <li> <strong >int overflow(int c)</strong>:<br/>
    This member <em >overrides</em> the <strong >std::streambuf</strong> member. It is
called by <em >std::ostream</em> objects using <strong >OFdStreambuf</strong>. It calls
<em >sync()</em>, an then it puts the next available character into the buffer. It
returns the inserted character.
    <li> <strong >void setActive(bool active)</strong>:<br/>
        The member function (de)activates logging. The argument <strong >true</strong>
activates logging, the argument <strong >false</strong> deactivates it.
    <li> <strong >void setStream(std::ostream &amp;stream)</strong>:<br/>
        This member may be used to switch the stream to log to. It is the
responsibility of the programmer to ensure that the external stream remains
available for as long as log-messages are inserted into it.
    <li> <strong >void settimestamp(FBB::TimeStamps timestamps,
                char const *delim = " ")</strong>:<br/>
        The member function (de)activates time stamp prepending. Use the value
<strong >FBB::TIMESTAMPS</strong> to prepend time stamps, <strong >FBB::NOTIMESTAMPS</strong> suppresses
time stamps.   A time stamp consists of the month, the day number of the month
and the (local) time of the current message, as usually appearing in messages
in <em >/var/log</em> files. E.g., <em >Aug 5 13:52:23</em>. The parameter <strong >delim</strong> is
inserted immediately beyond the time stamp. If a delimiter is inappropriate,
an empty string or a 0-pointer may be specified. When <strong >stamps ==
FBB::NOTIMESTAMPS delim</strong> is ignored.
    <li> <strong >void setEmpty(bool empty)</strong>:<br/>
        This member may be called to ensure that a timestamp is inserted
before the next insertion. It is called as <strong >setEmpty(true)</strong> when a newline
character (<em >\n</em>) is inserted, ensuring that another timestamp is prepended
before the next insertion.
    <li> <strong >int sync()</strong>:<br/>
        This member <em >overrides</em> the <strong >std::streambuf</strong> member. It writes
the buffer to the device associated with the file descriptor, and returns 0.
    </ul>
<p>
<h2 >PROTECTED MEMBER FUNCTION</h2>
<p>
The member listed in this section implements the tasks of the comparably
named virtual function in the class's private interface. This separates the
redefinable interface from the user-interface. The class <strong >LogBuffer</strong>
can, in accordance with Liskov's Substitution Principle, be used as a
<em >std:streambuf</em>; but it also offers a facility for classes deriving from
<strong >LogBuffer</strong>. This facility is listed here.
    <ul>
    <li> <strong >int pSync()</strong>:<br/>
        The contents of the <strong >LogBuffer</strong>'s internal buffer is flushed.
    </ul>
<p>
<h2 >EXAMPLE</h2>
    <pre >
#include &lt;iostream&gt;
#include &lt;iomanip&gt;

#include &lt;bobcat/log&gt;

using namespace std;
using namespace FBB;

int main()
{
    LogBuffer buffer(cout, FBB::TIMESTAMPS);
    ostream log(&amp;buffer);

    log &lt;&lt; "This message is written to cout" &lt;&lt; nl &lt;&lt;
           setw(16) &lt;&lt; ' ' &lt;&lt; "occupying multiple lines\n";
}
</pre>

<p>
<h2 >FILES</h2>
    <em >bobcat/logbuffer</em> - defines the class interface
<p>
<h2 >SEE ALSO</h2>
    <strong >bobcat</strong>(7), <strong >log</strong>(3bobcat)
<p>
<h2 >BUGS</h2>
    None Reported.
<p>

<h2 >DISTRIBUTION FILES</h2>
    <ul>
    <li> <em >bobcat_4.08.02-x.dsc</em>: detached signature;
    <li> <em >bobcat_4.08.02-x.tar.gz</em>: source archive;
    <li> <em >bobcat_4.08.02-x_i386.changes</em>: change log;
    <li> <em >libbobcat1_4.08.02-x_*.deb</em>: debian package holding the
            libraries;
    <li> <em >libbobcat1-dev_4.08.02-x_*.deb</em>: debian package holding the
            libraries, headers and manual pages;
    <li> <em >http://sourceforge.net/projects/bobcat</em>: public archive location;
    </ul>
<p>
<h2 >BOBCAT</h2>
    Bobcat is an acronym of `Brokken's Own Base Classes And Templates'.
<p>
<h2 >COPYRIGHT</h2>
    This is free software, distributed under the terms of the 
    GNU General Public License (GPL).
<p>
<h2 >AUTHOR</h2>
    Frank B. Brokken (<strong >f.b.brokken@rug.nl</strong>).
<p>
</body>
</html>