KWStyle - itkLoggerManager.cxx
 
Matrix View
Description

1 /*=========================================================================
2
3   Program:   Insight Segmentation & Registration Toolkit
4   Module:    $RCSfile: itkLoggerManager.cxx.html,v $
5   Language:  C++
6   Date:      $Date: 2006/01/17 19:15:41 $
7   Version:   $Revision: 1.4 $
8
9   Copyright (c) Insight Software Consortium. All rights reserved.
10   See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11
12      This software is distributed WITHOUT ANY WARRANTY; without even 
13      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
14      PURPOSE.  See the above copyright notices for more information.
15
16 DEF =========================================================================*/
17
18 #include "itkLoggerManager.h"
19
20
21 namespace itk
22 {
23
24 /** create a logger and add it into LoggerManager */
25 LoggerManager::LoggerPointer
26 LoggerManager::CreateLogger( const NameType &name, PriorityLevelType level,
27                                             PriorityLevelType levelForFlushing )
28 {
29   Logger::Pointer logger = Logger::New();
30   logger->SetName(name.c_str());
31   logger->SetPriorityLevel( level );
32   logger->SetLevelForFlushing( levelForFlushing );
33   this->AddLogger(name, logger);
34   return logger;
35 }
36
37
38 /** create a thread logger and add it into LoggerManager */
39 LoggerManager::ThreadLoggerPointer 
40 LEN LoggerManager::CreateThreadLogger( const NameType &name, PriorityLevelType level, 
41                                         PriorityLevelType levelForFlushing )
42 {
43   ThreadLogger::Pointer logger = ThreadLogger::New();
44   logger->SetName(name.c_str());
45   logger->SetPriorityLevel( level );
46   logger->SetLevelForFlushing( levelForFlushing );
47   this->AddLogger(name, logger);
48   return logger;
49 }
50
51
52 /** Registers another logger */
53 void LoggerManager::AddLogger( const NameType &name, Logger* logger )
54 {
55 IND //  this->m_LoggerSet.insert(logger);
56   this->m_LoggerSet[name] = logger;
57 }
58
59
60 Logger* 
61 LoggerManager::GetLogger( const NameType &name ) 
62 {
63   ContainerType::iterator loggerItr = this->m_LoggerSet.find( name );
64   if( loggerItr == this->m_LoggerSet.end() )
65     {
66     return NULL;
67     }
68   return loggerItr->second.GetPointer();
69 }
70
71
72 void LoggerManager::SetPriorityLevel( PriorityLevelType level )
73 {
74   ContainerType::iterator itr = this->m_LoggerSet.begin();
75   while( itr != this->m_LoggerSet.end() )
76 IND **{
77     (*itr).second->SetPriorityLevel( level );
78     ++itr;
79 IND **}
80 }
81
82
83 void LoggerManager::SetLevelForFlushing( PriorityLevelType level )
84 {
85   ContainerType::iterator itr = this->m_LoggerSet.begin();
86   while( itr != this->m_LoggerSet.end() )
87 IND **{
88     (*itr).second->SetLevelForFlushing( level );
89     ++itr;
90 IND **}
91 }
92
93
94 void LoggerManager::AddLogOutput( OutputType* output )
95 {
96   ContainerType::iterator itr = this->m_LoggerSet.begin();
97   while( itr != this->m_LoggerSet.end() )
98 IND **{
99     (*itr).second->AddLogOutput( output );
100     ++itr;
101 IND **}
102 }
103
104
105 void LoggerManager::Write( PriorityLevelType level, std::string const & content)
106 {
107   ContainerType::iterator itr = this->m_LoggerSet.begin();
108   while( itr != this->m_LoggerSet.end() )
109 IND **{
110     (*itr).second->Write( level, content );
111     ++itr;
112 IND **}
113 }
114
115
116 void LoggerManager::Flush()
117 {
118   ContainerType::iterator itr = this->m_LoggerSet.begin();
119   while( itr != this->m_LoggerSet.end() )
120 IND **{
121     (*itr).second->Flush();
122     ++itr;
123 IND **}
124 }
125
126 /** Print contents of a LoggerManager */
127 void LoggerManager::PrintSelf(std::ostream &os, Indent indent) const
128 {
129   Superclass::PrintSelf(os,indent);
130   
131   os << indent << "The number of loggers: " << m_LoggerSet.size() << std::endl;
132 }
133
134 // namespace itk
135
136 EOF
137 EOF,EML

Generated by KWStyle 1.0b on Tuesday January,17 at 02:14:19PM
© Kitware Inc.