DRAMA C++ Intro   Class Hierarchy   Alphabetical List of types   List of Classes   File List   Class Member Index   File Members Index   Related Pages  

gitlogger.h File Reference


Detailed Description

#include "DitsTypes.h"
#include "Ers.h"
#include <stdio.h>
#include <string>
#include <DitsFix.h>

Go to the source code of this file.

Compounds

class  GitLogger
 Implementation of a Class supporting Logging with a DRAMA GIT Task. More...

class  GitLogger___Time
struct  LevelStruct

Defines

#define LOG_ALL   0xFFFFFFFF
 Log everything.

#define LOG_STARTUP   0x01
 Log Task startup messages.

#define LOG_ERRORS   0x02
 Log Ers and action completion errors.

#define LOG_ACTENT   0x04
 Log Action entry.

#define LOG_ACTEXIT   0x08
 Log Action exit messages.

#define LOG_INST   0x10
 Log instument specific log messages.

#define LOG_MSG   0x20
 Log MsgOut messages.

#define LOG_DEBUG   0x40
 Log Debug messages.

#define LOG_COMMS   0x80
 Log DRAMA communications messages.

#define LOG_USER1   0x100
 User defined logging level 1.

#define LOG_USER2   0x200
 User defined logging level 2.

#define LOG_USER3   0x400
 User defined logging level 3.

#define LOG_USER4   0x800
 User defined logging level 4.

#define LOG_ARGS   0x1000
 Log entry and exit arguments if logging entry and exit.

#define LOG_ALWAYS   0x40000
 Always log the message.

#define LOG_ALWAYS_S   0x80000
 Always log the messages, including to the screen.

#define GIT_LOGGER_M_NO_FSYNC   1
 C interface to tuning GitLogger.


Functions

FILE * GitLoggerFile (StatusType *status)
 C interface to fetching the log file pointer.

void GitLoggerFlushAlways (int flag, StatusType *status)
 C interface to setting the GitLogger flush flag.

void GitLoggerInit (const char *system, StatusType *status)
 C interface to enabling a Git logger.


Define Documentation

#define GIT_LOGGER_M_NO_FSYNC   1
 

C interface to tuning GitLogger.

NewSetting is the new settings to apply. If OldSettings is non-zero, the previous settings are written here.

This function allows us to tune GitLogger effiency vs other events. By default - GitLoggger will flush and fsync() the log file each time DitsMsgReceive() returns (LogFlush() events). We can turn this off by setting the GIT_LOGGER_M_LOG_FLUSH_OFF flag. Alternatively, we could do the STDIO flushing but turn the (rather expensive) fsync() call off using GIT_LOGGER_M_LOG_NO_FSYNC (This defaults to being set under Linux, where fsync() is expensive). We could also ensure that every message is flushed immediately by setting GIT_LOGGER_M_FLUSH_ALWAYS.

#define LOG_ACTENT   0x04
 

Log Action entry.

#define LOG_ACTEXIT   0x08
 

Log Action exit messages.

#define LOG_ALL   0xFFFFFFFF
 

Log everything.

#define LOG_ALWAYS   0x40000
 

Always log the message.

#define LOG_ALWAYS_S   0x80000
 

Always log the messages, including to the screen.

#define LOG_ARGS   0x1000
 

Log entry and exit arguments if logging entry and exit.

#define LOG_COMMS   0x80
 

Log DRAMA communications messages.

#define LOG_DEBUG   0x40
 

Log Debug messages.

#define LOG_ERRORS   0x02
 

Log Ers and action completion errors.

#define LOG_INST   0x10
 

Log instument specific log messages.

#define LOG_MSG   0x20
 

Log MsgOut messages.

#define LOG_STARTUP   0x01
 

Log Task startup messages.

#define LOG_USER1   0x100
 

User defined logging level 1.

#define LOG_USER2   0x200
 

User defined logging level 2.

#define LOG_USER3   0x400
 

User defined logging level 3.

#define LOG_USER4   0x800
 

User defined logging level 4.


Function Documentation

FILE * GitLoggerFile StatusType *    status
 

C interface to fetching the log file pointer.

This C interface returns the log file FILE pointer, allowing direct writes to the log file etc. Please use with care. Returns NULL if the file is not available (normally with status set bad).

void GitLoggerFlushAlways int    flag,
StatusType *    status
 

C interface to setting the GitLogger flush flag.

This C interface allows the flag which determines if the log file should be flushed after every write to be set. Set flag to true (non-zero) to enable this, false (0) to disable it

Depreciated: Use GitLoggerTune() instead.

void GitLoggerInit const char *    system,
StatusType *    status
 

C interface to enabling a Git logger.

This C interface allows the GIT logger to be added to a DRAMA task which is otherwise written in C. It invokes the GitLogger:: constructor with the specified system and status arguments.


Click here for the DRAMA home page and here for the AAO home page.

For more information, contact tjf@aaoepp.aao.gov.au 

Generated on Tue Nov 3 09:09:56 2009 for AAO DRAMA C++ Interfaces by doxygen 1.2.18