ITK  6.0.0
Insight Toolkit
itkLoggerOutput.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18/*=========================================================================
19 *
20 * Portions of this file are subject to the VTK Toolkit Version 3 copyright.
21 *
22 * Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
23 *
24 * For complete copyright, license and disclaimer of warranty information
25 * please refer to the NOTICE file at the top of the ITK source tree.
26 *
27 *=========================================================================*/
28#ifndef itkLoggerOutput_h
29#define itkLoggerOutput_h
30
31#include "itkOutputWindow.h"
32#include "itkLogger.h"
33
34namespace itk
35{
50class ITKCommon_EXPORT LoggerOutput : public OutputWindow
51{
52public:
58
60 itkOverrideGetNameOfClassMacro(LoggerOutput);
61
62 itkNewMacro(LoggerOutput);
63
64 using LoggerType = Logger *;
65
67 void
68 DisplayText(const char * t) override;
69
73 void
74 DisplayErrorText(const char * t) override;
75
79 void
80 DisplayWarningText(const char * t) override;
81
85 void
86 DisplayGenericOutputText(const char * t) override;
87
91 void
92 DisplayDebugText(const char * t) override;
93
94 itkSetMacro(Logger, LoggerType);
95
96 itkGetConstMacro(Logger, LoggerType);
97
98 virtual void
100 {
102 }
103
104protected:
105 LoggerOutput() = default;
106 ~LoggerOutput() override = default;
107 void
108 PrintSelf(std::ostream & os, Indent indent) const override;
109
110private:
111 Logger * m_Logger{ nullptr };
112};
113} // end namespace itk
114
115#endif // itkLoggerOutput_h
Control indentation during Print() invocation.
Definition: itkIndent.h:50
Light weight base class for most itk classes.
Used for overriding itk::OutputWindow to redirect messages to itk::Logger.
void DisplayGenericOutputText(const char *t) override
void DisplayDebugText(const char *t) override
void DisplayErrorText(const char *t) override
LoggerOutput()=default
void DisplayText(const char *t) override
void PrintSelf(std::ostream &os, Indent indent) const override
virtual void OverrideITKWindow()
~LoggerOutput() override=default
void DisplayWarningText(const char *t) override
Used for logging information during a run.
Definition: itkLogger.h:37
Messages sent from the system are collected by this object.
static void SetInstance(OutputWindow *instance)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....