AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
slic.hpp File Reference
#include "axom/config.hpp"
#include "axom/slic/core/Logger.hpp"
#include "axom/slic/core/LogStream.hpp"
#include "axom/slic/streams/GenericOutputStream.hpp"
#include "axom/slic/core/MessageLevel.hpp"
#include "axom/slic/interface/slic_macros.hpp"
#include "axom/export/slic.h"
#include <iostream>
#include <sstream>

Classes

struct  axom::slic::debug
 

Namespaces

 axom
 
 axom::slic
 

Functions

void axom::slic::initialize (bool is_root=true)
 Initializes the SLIC logging environment and allows setting which ranks write messages (root nodes). This defaults to all ranks writing unless selectively set by the user and can be set afterwards via slic::setIsRoot(). More...
 
bool axom::slic::isInitialized ()
 Checks if the SLIC logging environment is initialized. More...
 
bool axom::slic::isRoot ()
 Checks if we are on the root rank. Used for selective logging on root nodes. More...
 
void axom::slic::setIsRoot (bool is_root)
 Marks this node as root and enables the selective root logging filtering used in the SLIC_*_ROOT_* macros. More...
 
void axom::slic::ensureInitialized ()
 Ensures the SLIC logging environment is initialized. More...
 
void axom::slic::createLogger (const std::string &name, char imask=inherit::nothing)
 Creates a new logger associated with the given name. More...
 
bool axom::slic::activateLogger (const std::string &name)
 Activates the logger associated with the given name. More...
 
std::string axom::slic::getActiveLoggerName ()
 Returns the name of the active logger. More...
 
void axom::slic::setLoggingMsgLevel (message::Level level)
 Sets desired logging level. More...
 
message::Level axom::slic::getLoggingMsgLevel ()
 Gets the current logging level. More...
 
void axom::slic::setAbortOnError (bool status)
 Toggles the abort behavior for errors on the current active logger. More...
 
void axom::slic::enableAbortOnError ()
 Enables aborts on error messages for the current active logger. More...
 
void axom::slic::disableAbortOnError ()
 Disables aborts on error messages for the current active logger. More...
 
bool axom::slic::isAbortOnErrorsEnabled ()
 Checks whether aborts on errors are enabled for the current logger. More...
 
void axom::slic::setAbortOnWarning (bool status)
 Toggles the abort behavior for warnings on the current active logger. More...
 
void axom::slic::enableAbortOnWarning ()
 Enables aborts on warnings messages for the current active logger. More...
 
void axom::slic::disableAbortOnWarning ()
 Disables aborts on warnings messages for the current active logger. More...
 
bool axom::slic::isAbortOnWarningsEnabled ()
 Checks whether aborts on warnings are enabled for the current logger. More...
 
void axom::slic::setAbortFunction (AbortFunctionPtr abort_func)
 Sets the function to call when program abort is requested. More...
 
void axom::slic::addStreamToMsgLevel (LogStream *ls, message::Level level)
 Adds the given stream to the given level. More...
 
void axom::slic::addStreamToMsgLevel (GenericOutputStream *ls, message::Level level)
 Adds the given GenericOutputStream to the given level. More...
 
void axom::slic::addStreamToAllMsgLevels (LogStream *ls)
 Adds the given stream to all levels. More...
 
void axom::slic::addStreamToAllMsgLevels (GenericOutputStream *ls)
 Adds the given GenericOutputStream to all levels. More...
 
void axom::slic::addStreamToTag (LogStream *ls, const std::string &tag)
 Binds the given stream to the given tag. More...
 
void axom::slic::addStreamToTag (GenericOutputStream *ls, const std::string &tag)
 Binds the given GenericOutputStream to the given tag. More...
 
void axom::slic::addStreamToAllTags (LogStream *ls)
 Binds the given stream to all the tags. More...
 
void axom::slic::addStreamToAllTags (GenericOutputStream *ls)
 Binds the given GenericOutputStream to all the tags. More...
 
int axom::slic::getNumStreamsWithTag (const std::string &tag)
 Returns the number of streams for a given tag. Returns 0 if the tag does not exist. More...
 
void axom::slic::logMessage (message::Level level, const std::string &message, bool filter_duplicates=false)
 Logs the given message to all registered streams. More...
 
void axom::slic::logMessage (message::Level level, const std::string &message, const std::string &tag, bool filter_duplicates=false, bool tag_stream_only=false)
 Logs the given message to all registered streams. More...
 
void axom::slic::logMessage (message::Level level, const std::string &message, const std::string &fileName, int line, bool filter_duplicates=false)
 Logs the given message to all registered streams. More...
 
void axom::slic::logMessage (message::Level level, const std::string &message, const std::string &tag, const std::string &fileName, int line, bool filter_duplicates=false, bool tag_stream_only=false)
 Logs the given message to all registered streams. More...
 
void axom::slic::logErrorMessage (const std::string &message, const std::string &fileName, int line)
 Convenience method to log an error message. More...
 
void axom::slic::logWarningMessage (const std::string &message, const std::string &fileName, int line)
 Convenience method to log warning messages. More...
 
void axom::slic::outputLocalMessages ()
 For the current rank, outputs messages from all streams to the console. More...
 
std::string axom::slic::stacktrace ()
 Uses glibc's backtrace() functionality to return a stacktrace. More...
 
Collective Methods
Attention
These methods are collective operations. All ranks in the user-supplied communicator must call the method when used within an MPI distributed environment.
void axom::slic::abort ()
 Calls abort function. Default is abort() or MPI_Abort() in a MPI distributed environment. More...
 
void axom::slic::flushStreams ()
 Flushes all streams for all ranks. More...
 
void axom::slic::pushStreams ()
 Pushes all streams. More...
 
void axom::slic::finalize ()
 Finalizes the slic logging environment. More...