ivutils
Loading...
Searching...
No Matches
logexc.h File Reference

Interface to process exceptions and output messages. More...

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdexcept>
#include <string>
#include <typeinfo>
#include "refobj.h"
#include <ivutils_export.h>
Include dependency graph for logexc.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  log_exception_traits< exc_t >
 traits structure to deduce exception level and name from exception class by default all exceptions have vblFATAL level More...
 
struct  log_exception_traits< int >
 integer exceptions have the level equal to their value More...
 
struct  log_exception_traits< enum vbLEVELS >
 vbLEVELS exceptions act as integers More...
 
class  message_logger
 Logger class to control (computational) function behaviour when something requiring user attention has happened. More...
 
class  stdfile_logger
 message logger for which std and error streams may be specified More...
 
class  vector_logger
 This is a compound logger. More...
 

Macros

#define LINFO   1
 this specifies whether to put file/line info in error messages
 
#define LOGFATAL(code, text, lineinfo)
 macros with common usage
 

Enumerations

enum  vbLEVELS {
  vblNONE = 0 , vblFATAL = 0x1 , vblOERR = 0x2 , vblERR = vblFATAL|vblOERR ,
  vblWARN = 0x4 , vblALLBAD = vblWARN|vblERR , vblMESS1 = 0x8 , vblMESS2 = 0x10 ,
  vblMESS3 = 0x20 , vblMESS4 = 0x40 , vblALLMESS = vblMESS1|vblMESS2|vblMESS3|vblMESS4 , vblPROGR = 0x80 ,
  vblALL = 0xffff
}
 verbosity levels More...
 

Functions

const char * fmt (const char *format,...)
 format a string
 

Detailed Description

Interface to process exceptions and output messages.

Enumeration Type Documentation

◆ vbLEVELS

enum vbLEVELS

verbosity levels

Enumerator
vblNONE 

completely silent

vblFATAL 

report fatal errors

vblOERR 

report other errors

vblERR 

report all errors

vblWARN 

report warnings

vblALLBAD 

report all errors and warnings

vblMESS1 

report messages of level 1 (important)

vblMESS2 

report messages of level 2 (less important)

vblMESS3 

report messages of level 3 (not important)

vblMESS4 

report messages of level 4 (anything possible)

vblALLMESS 

report all messages

vblPROGR 

report progress