LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
pex_logging
11.0+1
include
lsst
pex
logging
LogFormatter.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
3
/*
4
* LSST Data Management System
5
* Copyright 2008, 2009, 2010 LSST Corporation.
6
*
7
* This product includes software developed by the
8
* LSST Project (http://www.lsst.org/).
9
*
10
* This program is free software: you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation, either version 3 of the License, or
13
* (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the LSST License Statement and
21
* the GNU General Public License along with this program. If not,
22
* see <http://www.lsstcorp.org/LegalNotices/>.
23
*/
24
32
#ifndef LSST_PEX_LOGFORMATTER_H
33
#define LSST_PEX_LOGFORMATTER_H
34
35
#include <string>
36
#include <map>
37
#include <ostream>
38
39
#include "
lsst/daf/base/PropertySet.h
"
40
#include "boost/any.hpp"
41
42
namespace
lsst {
43
namespace
pex {
44
namespace
logging {
45
46
// forward declaration
47
class
LogRecord;
48
73
class
LogFormatter
{
74
public
:
75
79
LogFormatter
() { }
80
84
LogFormatter
(
const
LogFormatter
& that) { }
85
89
virtual
~LogFormatter
();
90
94
LogFormatter
&
operator=
(
const
LogFormatter
& that) {
return
*
this
; }
95
102
virtual
void
write
(std::ostream *strm,
const
LogRecord
&rec) = 0;
103
104
};
105
114
class
BriefFormatter
:
public
LogFormatter
{
115
public
:
116
121
explicit
BriefFormatter
(
bool
verbose=
false
)
122
:
LogFormatter
(),
_doAll
(verbose)
123
{ }
124
128
BriefFormatter
(
const
BriefFormatter
& that)
129
:
LogFormatter
(that),
_doAll
(that.
_doAll
)
130
{ }
131
135
virtual
~BriefFormatter
();
136
140
BriefFormatter
&
operator=
(
const
BriefFormatter
& that) {
141
if
(
this
== &that)
return
*
this
;
142
143
dynamic_cast<
LogFormatter
*
>
(
this
)->
operator
=(that);
144
_doAll
= that.
_doAll
;
145
return
*
this
;
146
}
147
154
bool
isVerbose
() {
return
_doAll
; }
155
163
void
setVerbose
(
bool
printAll) {
_doAll
= printAll; }
164
170
virtual
void
write
(std::ostream *strm,
const
LogRecord
& rec);
171
172
private
:
173
174
bool
_doAll
;
175
};
176
183
class
IndentedFormatter
:
public
BriefFormatter
{
184
public
:
185
190
explicit
IndentedFormatter
(
bool
verbose=
false
)
191
:
BriefFormatter
(verbose)
192
{ }
193
197
IndentedFormatter
(
const
IndentedFormatter
& that)
198
:
BriefFormatter
(that)
199
{ }
200
204
virtual
~IndentedFormatter
();
205
209
IndentedFormatter
&
operator=
(
const
IndentedFormatter
& that) {
210
if
(
this
== &that)
return
*
this
;
211
212
dynamic_cast<
BriefFormatter
*
>
(
this
)->
operator
=(that);
213
return
*
this
;
214
}
215
221
virtual
void
write
(std::ostream *strm,
const
LogRecord
& rec);
222
};
223
229
class
NetLoggerFormatter
:
public
LogFormatter
{
230
public
:
231
237
explicit
NetLoggerFormatter
(
const
std::string& valueDelim =
defaultValDelim
);
238
242
NetLoggerFormatter
(
const
NetLoggerFormatter
& that)
243
:
LogFormatter
(that),
_tplookup
(),
_midfix
(that.
_midfix
)
244
{
245
loadTypeLookup
();
246
}
247
251
virtual
~NetLoggerFormatter
();
252
256
NetLoggerFormatter
&
operator=
(
const
NetLoggerFormatter
& that);
257
262
const
std::string&
getValueDelimiter
()
const
{
return
_midfix
; }
263
269
virtual
void
write
(std::ostream *strm,
const
LogRecord
& rec);
270
271
static
const
std::string
defaultValDelim
;
272
273
private
:
274
typedef
std::map<std::string, char>
TypeSymbolMap
;
275
void
loadTypeLookup
();
276
277
TypeSymbolMap
_tplookup
;
278
std::string
_midfix
;
279
};
280
281
}}}
// end lsst::pex::logging
282
283
#endif // end LSST_PEX_LOGFORMATTER_H
lsst::pex::logging::NetLoggerFormatter::loadTypeLookup
void loadTypeLookup()
lsst::pex::logging::IndentedFormatter::IndentedFormatter
IndentedFormatter(bool verbose=false)
Definition:
LogFormatter.h:190
lsst::pex::logging::NetLoggerFormatter::write
virtual void write(std::ostream *strm, const LogRecord &rec)
lsst::pex::logging::LogFormatter::LogFormatter
LogFormatter()
Definition:
LogFormatter.h:79
lsst::pex::logging::NetLoggerFormatter::_tplookup
TypeSymbolMap _tplookup
Definition:
LogFormatter.h:277
lsst::pex::logging::BriefFormatter::BriefFormatter
BriefFormatter(bool verbose=false)
Definition:
LogFormatter.h:121
lsst::pex::logging::BriefFormatter::~BriefFormatter
virtual ~BriefFormatter()
lsst::pex::logging::BriefFormatter::isVerbose
bool isVerbose()
Definition:
LogFormatter.h:154
lsst::pex::logging::IndentedFormatter::operator=
IndentedFormatter & operator=(const IndentedFormatter &that)
Definition:
LogFormatter.h:209
lsst::pex::logging::NetLoggerFormatter::NetLoggerFormatter
NetLoggerFormatter(const std::string &valueDelim=defaultValDelim)
lsst::pex::logging::IndentedFormatter::~IndentedFormatter
virtual ~IndentedFormatter()
lsst::pex::logging::BriefFormatter::BriefFormatter
BriefFormatter(const BriefFormatter &that)
Definition:
LogFormatter.h:128
lsst::pex::logging::LogRecord
a container for constructing a single Log record
Definition:
LogRecord.h:99
lsst::pex::logging::BriefFormatter::_doAll
bool _doAll
Definition:
LogFormatter.h:174
lsst::pex::logging::NetLoggerFormatter::~NetLoggerFormatter
virtual ~NetLoggerFormatter()
lsst::pex::logging::NetLoggerFormatter::TypeSymbolMap
std::map< std::string, char > TypeSymbolMap
Definition:
LogFormatter.h:274
lsst::pex::logging::NetLoggerFormatter::NetLoggerFormatter
NetLoggerFormatter(const NetLoggerFormatter &that)
Definition:
LogFormatter.h:242
lsst::pex::logging::NetLoggerFormatter
a formatter that renders records in a netlogger-like format.
Definition:
LogFormatter.h:229
lsst::pex::logging::LogFormatter::operator=
LogFormatter & operator=(const LogFormatter &that)
Definition:
LogFormatter.h:94
lsst::pex::logging::NetLoggerFormatter::_midfix
std::string _midfix
Definition:
LogFormatter.h:278
lsst::pex::logging::IndentedFormatter::write
virtual void write(std::ostream *strm, const LogRecord &rec)
lsst::pex::logging::NetLoggerFormatter::operator=
NetLoggerFormatter & operator=(const NetLoggerFormatter &that)
lsst::pex::logging::LogFormatter::write
virtual void write(std::ostream *strm, const LogRecord &rec)=0
lsst::pex::logging::BriefFormatter::write
virtual void write(std::ostream *strm, const LogRecord &rec)
lsst::pex::logging::BriefFormatter::operator=
BriefFormatter & operator=(const BriefFormatter &that)
Definition:
LogFormatter.h:140
lsst::pex::logging::IndentedFormatter
Definition:
LogFormatter.h:183
lsst::pex::logging::LogFormatter::~LogFormatter
virtual ~LogFormatter()
lsst::pex::logging::BriefFormatter::setVerbose
void setVerbose(bool printAll)
Definition:
LogFormatter.h:163
lsst::pex::logging::IndentedFormatter::IndentedFormatter
IndentedFormatter(const IndentedFormatter &that)
Definition:
LogFormatter.h:197
PropertySet.h
Interface for PropertySet class.
lsst::pex::logging::NetLoggerFormatter::defaultValDelim
static const std::string defaultValDelim
Definition:
LogFormatter.h:271
lsst::pex::logging::BriefFormatter
a formatter that renders records in a brief format for screen display.
Definition:
LogFormatter.h:114
lsst::pex::logging::NetLoggerFormatter::getValueDelimiter
const std::string & getValueDelimiter() const
Definition:
LogFormatter.h:262
lsst::pex::logging::LogFormatter
an abstract class for formatting log records into a text stream.
Definition:
LogFormatter.h:73
lsst::pex::logging::LogFormatter::LogFormatter
LogFormatter(const LogFormatter &that)
Definition:
LogFormatter.h:84
Generated on Thu Sep 24 2015 02:29:23 for LSSTApplications by
1.8.5