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
src
FileDestination.cc
Go to the documentation of this file.
1
/*
2
* LSST Data Management System
3
* Copyright 2008, 2009, 2010 LSST Corporation.
4
*
5
* This product includes software developed by the
6
* LSST Project (http://www.lsst.org/).
7
*
8
* This program is free software: you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation, either version 3 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the LSST License Statement and
19
* the GNU General Public License along with this program. If not,
20
* see <http://www.lsstcorp.org/LegalNotices/>.
21
*/
22
27
#include "
lsst/pex/logging/FileDestination.h
"
28
29
namespace
lsst {
30
namespace
pex {
31
namespace
logging {
32
44
FileDestination::FileDestination
(
const
boost::filesystem::path& filepath,
45
bool
verbose,
int
threshold,
bool
truncate
)
46
:
LogDestination
(new std::ofstream(filepath.string().c_str(),
47
truncate ? std::ios::out : std::ios::app),
48
boost::shared_ptr<
LogFormatter
>(new
IndentedFormatter
(verbose)),
49
threshold),
50
_path(filepath)
51
{ }
52
FileDestination::FileDestination
(
const
std::string& filepath,
bool
verbose,
53
int
threshold,
bool
truncate
)
54
:
LogDestination
(new std::ofstream(filepath.c_str(),
55
truncate ? std::ios::out : std::ios::app),
56
boost::shared_ptr<
LogFormatter
>(new
IndentedFormatter
(verbose)),
57
threshold),
58
_path(filepath)
59
{ }
60
FileDestination::FileDestination
(
const
char
*filepath,
bool
verbose,
61
int
threshold,
bool
truncate
)
62
:
LogDestination
(new std::ofstream(filepath,
63
truncate ? std::ios::out : std::ios::app),
64
boost::shared_ptr<
LogFormatter
>(new
IndentedFormatter
(verbose)),
65
threshold),
66
_path(filepath)
67
{ }
68
69
/*
70
* delete this destination
71
*/
72
FileDestination::~FileDestination
() {
73
std::ofstream *ofstrm =
dynamic_cast<
std::ofstream*
>
(
_strm
);
74
if
(ofstrm != NULL && ofstrm->is_open()) {
75
try
{
76
ofstrm->flush();
77
ofstrm->close();
78
}
79
catch
(...) { }
80
}
81
delete
_strm
;
82
}
83
84
85
86
87
}}}
lsst::afw::geom::truncate
Extent< int, N > truncate(Extent< double, N > const &input)
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::FileDestination::~FileDestination
virtual ~FileDestination()
Definition:
FileDestination.cc:72
lsst::pex::logging::IndentedFormatter
Definition:
LogFormatter.h:183
lsst::pex::logging::FileDestination::FileDestination
FileDestination(const std::string &filepath, const boost::shared_ptr< LogFormatter > &formatter, int threshold=threshold::PASS_ALL, bool truncate=false)
Definition:
FileDestination.h:64
FileDestination.h
definition of the FileDestination class
lsst::pex::logging::LogDestination::_strm
std::ostream * _strm
Definition:
LogDestination.h:122
lsst::pex::logging::LogFormatter
an abstract class for formatting log records into a text stream.
Definition:
LogFormatter.h:73
Generated on Thu Sep 24 2015 02:29:23 for LSSTApplications by
1.8.5