Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
mitk::LoggingBackend Class Reference

mbilog backend implementation for mitk More...

#include <mitkLog.h>

Inheritance diagram for mitk::LoggingBackend:
Collaboration diagram for mitk::LoggingBackend:

Public Member Functions

void ProcessMessage (const mbilog::LogMessage &) override
 overloaded method for receiving log message from mbilog More...
 
mbilog::OutputType GetOutputType () const override
 
- Public Member Functions inherited from mbilog::TextBackendBase
 ~TextBackendBase () override
 
- Public Member Functions inherited from mbilog::BackendBase
virtual ~BackendBase ()
 

Static Public Member Functions

static void Register ()
 registers MITK logging backend at mbilog More...
 
static void Unregister ()
 Unregisters MITK logging backend at mbilog. More...
 
static void SetLogFile (const char *file)
 Sets extra log file path (additionally to the console log) More...
 
static void RotateLogFiles (const std::string &prefixPath)
 Activates and handles a rolling log file with the given prefix and path. This method handles 10 log files with a given prefix, e.g. "myLogFile". The 10 log files will then look like this: myLogFile-0.log (current file) myLogFile-1.log (last file) myLogFile-2.log [...] myLogFile-9.log. More...
 
static std::string IncrementLogFileNames (const std::string &prefixPath, int numLogFiles=10)
 Increments the names of logfiles with the given prefixPath. This means, if the prefixPath is "myLogFile" myLogFile-0.log is renamed to myLogFile-1.log, myLogFile-1.log to myLogFile-2.log, and so on. The oldest logfile is deleted. The number of log files is defined by the parameter "numLogFiles". The first logfile name is "free" (e.g., [prefix]-0.log) again. This name is returned. More...
 
static std::string GetLogFile ()
 
static void EnableAdditionalConsoleWindow (bool enable)
 Enables an additional logging output window by means of itk::outputwindow This might be relevant for showing log output in applications with no default output console. More...
 
static void CatchLogFileCommandLineParameter (int &argc, char **argv)
 Automatically extracts and removes the "--logfile <file>" parameters from the standard C main(argc,argv) parameter list and calls SetLogFile if needed. More...
 

Static Protected Member Functions

static bool CheckIfFileExists (const std::string &filename)
 

Additional Inherited Members

- Protected Member Functions inherited from mbilog::TextBackendBase
void FormatSmart (const LogMessage &l, int threadID=0)
 Method formats the given LogMessage in the smart/short format and writes it to std::cout. More...
 
void FormatFull (const LogMessage &l, int threadID=0)
 Method formats the given LogMessage in the full/long format and writes it to std::cout. More...
 
void FormatSmart (std::ostream &out, const LogMessage &l, int threadID=0)
 Method formats the given LogMessage in the smart/short format and writes it to the given std::ostream. More...
 
void FormatFull (std::ostream &out, const LogMessage &l, int threadID=0)
 Method formats the given LogMessage in the full/long format and writes it to the given std::ostream. More...
 
void AppendTimeStamp (std::ostream &out)
 Writes the system time to the given stream. More...
 
void FormatSmartWindows (const mbilog::LogMessage &l, int)
 Special variant of method FormatSmart which uses colored messages (only for windows). More...
 

Detailed Description

mbilog backend implementation for mitk

Definition at line 24 of file mitkLog.h.

Member Function Documentation

◆ CatchLogFileCommandLineParameter()

static void mitk::LoggingBackend::CatchLogFileCommandLineParameter ( int &  argc,
char **  argv 
)
static

Automatically extracts and removes the "--logfile <file>" parameters from the standard C main(argc,argv) parameter list and calls SetLogFile if needed.

◆ CheckIfFileExists()

static bool mitk::LoggingBackend::CheckIfFileExists ( const std::string &  filename)
staticprotected

Checks if a file exists.

Returns
Returns true if the file exists, false if not.

◆ EnableAdditionalConsoleWindow()

static void mitk::LoggingBackend::EnableAdditionalConsoleWindow ( bool  enable)
static

Enables an additional logging output window by means of itk::outputwindow This might be relevant for showing log output in applications with no default output console.

◆ GetLogFile()

static std::string mitk::LoggingBackend::GetLogFile ( )
static
Returns
Returns the log file if there is one. Returns an empty string if no log file is active.

◆ GetOutputType()

mbilog::OutputType mitk::LoggingBackend::GetOutputType ( ) const
overridevirtual
Returns
The type of this backend.

Implements mbilog::BackendBase.

◆ IncrementLogFileNames()

static std::string mitk::LoggingBackend::IncrementLogFileNames ( const std::string &  prefixPath,
int  numLogFiles = 10 
)
static

Increments the names of logfiles with the given prefixPath. This means, if the prefixPath is "myLogFile" myLogFile-0.log is renamed to myLogFile-1.log, myLogFile-1.log to myLogFile-2.log, and so on. The oldest logfile is deleted. The number of log files is defined by the parameter "numLogFiles". The first logfile name is "free" (e.g., [prefix]-0.log) again. This name is returned.

Parameters
prefixPathShould hold the prefix of the logfile together with its path. E.g., "C:/programs/mitk/myLogFile".
numLogFilesSets the number of logfiles. Default value is 10. This means logfiles from [prefix]-0.log to [prefix]-1.log are stored.
Returns
Returns a new logfile name which is free again because the old first log file was renamed.
Exceptions
mitk::ExceptionThrows an exception if there is a problem with renaming the logfiles, e.g., because of file access problems.

◆ ProcessMessage()

void mitk::LoggingBackend::ProcessMessage ( const mbilog::LogMessage )
overridevirtual

overloaded method for receiving log message from mbilog

Implements mbilog::TextBackendBase.

◆ Register()

static void mitk::LoggingBackend::Register ( )
static

registers MITK logging backend at mbilog

◆ RotateLogFiles()

static void mitk::LoggingBackend::RotateLogFiles ( const std::string &  prefixPath)
static

Activates and handles a rolling log file with the given prefix and path. This method handles 10 log files with a given prefix, e.g. "myLogFile". The 10 log files will then look like this: myLogFile-0.log (current file) myLogFile-1.log (last file) myLogFile-2.log [...] myLogFile-9.log.

Everytime this method this called, normally when MITK is started, then all log files are copied one file below (0 to 1, 1 to 2, and so on). The oldest logfile (number 9) is always deleted. So users have access to the log files of the last 10 runs.

Exceptions
mitk::ExceptionThrows an exception if there is a problem with renaming the logfiles, e.g., because of file access problems.
Parameters
prefixPathShould hold the prefix of the logfile together with its path. E.g., "C:/programs/mitk/myLogFile".

◆ SetLogFile()

static void mitk::LoggingBackend::SetLogFile ( const char *  file)
static

Sets extra log file path (additionally to the console log)

◆ Unregister()

static void mitk::LoggingBackend::Unregister ( )
static

Unregisters MITK logging backend at mbilog.


The documentation for this class was generated from the following file: