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
DualLog.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
30
#ifndef LSST_PEX_DUALLOG_H
31
#define LSST_PEX_DUALLOG_H
32
33
#include "
lsst/pex/logging/ScreenLog.h
"
34
35
#include <fstream>
36
37
namespace
lsst {
38
namespace
pex {
39
namespace
logging {
40
49
class
DualLog
:
public
ScreenLog
{
50
public
:
51
68
DualLog
(
const
lsst::daf::base::PropertySet
& preamble,
const
std::string& filename,
69
int
filethresh=0,
int
screenthresh=0,
bool
screenVerbose=
false
);
70
83
DualLog
(
const
std::string& filename,
int
filethresh=0,
int
screenthresh=0,
84
bool
screenVerbose=
false
);
85
86
90
DualLog
(
const
DualLog
& that)
91
:
ScreenLog
(that),
_file
(that.
_file
)
92
{ }
93
97
virtual
~DualLog
();
98
102
DualLog
&
operator=
(
const
DualLog
& that) {
103
if
(
this
== &that)
return
*
this
;
104
dynamic_cast<
ScreenLog
*
>
(
this
)->
operator
=(that);
105
_file
= that.
_file
;
106
return
*
this
;
107
}
108
113
int
getFileThreshold
() {
return
_file
->
getThreshold
(); }
114
120
void
setFileThreshold
(
int
thresh) {
_file
->
setThreshold
(thresh); }
121
138
static
void
createDefaultLog
(
const
lsst::daf::base::PropertySet
& preamble,
139
const
std::string& filename,
140
int
filethresh=
Log::INHERIT_THRESHOLD
,
141
int
screenthresh=0,
bool
screenVerbose=
false
);
154
static
void
createDefaultLog
(
const
std::string& filename,
155
int
filethresh=
Log::INHERIT_THRESHOLD
,
156
int
screenthresh=0,
bool
screenVerbose=
false
);
157
158
159
private
:
160
void
_init
(
const
std::string& filename,
int
filethresh);
161
162
LogDestination
*
_file
;
163
std::ofstream *
fstrm
;
164
};
165
166
}}}
// end lsst::pex::logging
167
168
#endif // end LSST_PEX_DUALLOG_H
lsst::pex::logging::ScreenLog
a Log configured to send messages to the screen. The BriefFormatter is used to format the messages...
Definition:
ScreenLog.h:43
lsst::pex::logging::LogDestination
an encapsulation of a logging stream that will filter messages based on their volume (importance) lev...
Definition:
LogDestination.h:64
lsst::pex::logging::DualLog::fstrm
std::ofstream * fstrm
Definition:
DualLog.h:163
lsst::pex::logging::Log::INHERIT_THRESHOLD
static const int INHERIT_THRESHOLD
Definition:
Log.h:183
lsst::pex::logging::DualLog::_init
void _init(const std::string &filename, int filethresh)
lsst::pex::logging::DualLog::createDefaultLog
static void createDefaultLog(const lsst::daf::base::PropertySet &preamble, const std::string &filename, int filethresh=Log::INHERIT_THRESHOLD, int screenthresh=0, bool screenVerbose=false)
lsst::pex::logging::DualLog
a Log that sends message to both the screen and a file.
Definition:
DualLog.h:49
lsst::pex::logging::DualLog::operator=
DualLog & operator=(const DualLog &that)
Definition:
DualLog.h:102
ScreenLog.h
definition of the ScreenLog class
lsst::pex::logging::DualLog::DualLog
DualLog(const lsst::daf::base::PropertySet &preamble, const std::string &filename, int filethresh=0, int screenthresh=0, bool screenVerbose=false)
lsst::daf::base::PropertySet
Class for storing generic metadata.
Definition:
PropertySet.h:82
lsst::pex::logging::DualLog::~DualLog
virtual ~DualLog()
lsst::pex::logging::DualLog::DualLog
DualLog(const DualLog &that)
Definition:
DualLog.h:90
lsst::pex::logging::DualLog::setFileThreshold
void setFileThreshold(int thresh)
Definition:
DualLog.h:120
lsst::pex::logging::DualLog::getFileThreshold
int getFileThreshold()
Definition:
DualLog.h:113
lsst::pex::logging::LogDestination::setThreshold
void setThreshold(int threshold)
Definition:
LogDestination.h:106
lsst::pex::logging::LogDestination::getThreshold
int getThreshold() const
Definition:
LogDestination.h:99
lsst::pex::logging::DualLog::_file
LogDestination * _file
Definition:
DualLog.h:162
Generated on Thu Sep 24 2015 02:29:23 for LSSTApplications by
1.8.5