#include <ArLog.h>
ArLog is a utility class to log all messages from Aria to a choosen destintation. Messages can be logged to stdout, stderr, a file, and turned off completely. Logging by default is set to stdout. The level of logging can be changed as well. Allowed levels are Terse, Normal, and Verbose. By default the level is set to Normal.
Public Types | |
| Colbert | |
| Use a Colbert stream for logging. | |
| File | |
| Use a file for logging. | |
| enum | LogLevel { Terse, Normal, Verbose } |
| enum | LogType { StdOut, StdErr, File, Colbert, None } |
| None | |
| Disable logging. | |
| Normal | |
| Use normal logging. | |
| StdErr | |
| Use stderr for logging. | |
| StdOut | |
| Use stdout for logging. | |
| Terse | |
| Use terse logging. | |
| Verbose | |
| Use verbose logging. | |
Static Public Member Functions | |
| static void | addToConfig (ArConfig *config) |
| Use an ArConfig object to control ArLog's options. | |
| static void | aramInit (const char *prefix, ArLog::LogLevel defaultLevel=ArLog::Normal, double defaultSize=10) |
| Init for aram behavior. | |
| static void | close () |
| Close the logging utility. | |
| static bool | init (LogType type, LogLevel level, const char *fileName="", bool logTime=false, bool alsoPrint=false, bool printThisCall=true) |
| Initialize the logging utility with options. | |
| static void | log (LogLevel level, const char *str,...) |
| Log a message, with formatting and variable number of arguments. | |
| static void | logNoLock (LogLevel level, const char *str,...) |
| static void | logPlain (LogLevel level, const char *str) |
| Log a message containing just a plain string. | |
Static Public Attributes | |
| static void(* | colbertPrint )(int i, const char *str) |
Static Protected Member Functions | |
| static bool | aramProcessFile (void) |
| static void | filledAramLog (void) |
| static bool | processFile (void) |
Static Protected Attributes | |
| static bool | ourAlsoPrint = false |
| static char | ourAramConfigLogLevel [1024] = "Normal" |
| static double | ourAramConfigLogSize = 10 |
|
static ArGlobalRetFunctor< bool > | ourAramConfigProcessFileCB |
| static double | ourAramLogSize = 0 |
| static std::string | ourAramPrefix = "" |
| static int | ourCharsLogged = 0 |
| static int | ourColbertStream = -1 |
| static bool | ourConfigAlsoPrint = false |
| static char | ourConfigFileName [1024] = "log.txt" |
| static LogLevel | ourConfigLogLevel = ArLog::Normal |
| static bool | ourConfigLogTime = false |
| static LogType | ourConfigLogType = ArLog::StdOut |
|
static ArGlobalRetFunctor< bool > | ourConfigProcessFileCB |
| static std::string | ourFileName |
| static FILE * | ourFP = 0 |
| static LogLevel | ourLevel = ArLog::Normal |
| static ArLog * | ourLog |
| static bool | ourLoggingTime = false |
| static ArMutex | ourMutex |
| static LogType | ourType = StdOut |
| static bool | ourUseAramBehavior = false |
| enum ArLog::LogLevel |
| enum ArLog::LogType |
| bool ArLog::init | ( | LogType | type, | |
| LogLevel | level, | |||
| const char * | fileName = "", |
|||
| bool | logTime = false, |
|||
| bool | alsoPrint = false, |
|||
| bool | printThisCall = true | |||
| ) | [static] |
Initialize the logging utility with options.
Initialize the logging utility by supplying the type of logging and the level of logging. If the type is File, the fileName needs to be supplied.
| type | type of Logging | |
| level | level of logging | |
| fileName | the name of the file for File type of logging | |
| logTime | if this is true then the time a message is given will be logged | |
| alsoPrint | if this is true then in addition to whatever other logging (to a file for instance) the results will also be printed | |
| printThisCall | if this is true the new settings will be printed otherwise they won't |
| void ArLog::log | ( | LogLevel | level, | |
| const char * | str, | |||
| ... | ||||
| ) | [static] |
Log a message, with formatting and variable number of arguments.
Java and Python Wrappers: In Java and Python, this function only takes one string argument. Use Java or Python's native facities for constructing a formatted string, e.g. the % and + string operators in Python, and the methods of the Java String class.
1.4.7