mit neuen venv und exe-Files
This commit is contained in:
139
venv3_12/Include/cx_Logging.h
Normal file
139
venv3_12/Include/cx_Logging.h
Normal file
@@ -0,0 +1,139 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// cx_Logging.h
|
||||
// Include file for managing logging.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include <Python.h>
|
||||
#include <osdefs.h>
|
||||
|
||||
// define platform specific variables
|
||||
#ifdef MS_WINDOWS
|
||||
#include <share.h>
|
||||
#include <windows.h>
|
||||
#define LOCK_TYPE CRITICAL_SECTION
|
||||
#ifdef __GNUC__
|
||||
#ifdef CX_LOGGING_CORE
|
||||
#define CX_LOGGING_API(t) __declspec(dllexport) __stdcall t
|
||||
#else
|
||||
#define CX_LOGGING_API(t) __declspec(dllimport) __stdcall t
|
||||
#endif
|
||||
#else
|
||||
#ifdef CX_LOGGING_CORE
|
||||
#define CX_LOGGING_API(t) __declspec(dllexport) t __stdcall
|
||||
#else
|
||||
#define CX_LOGGING_API(t) __declspec(dllimport) t __stdcall
|
||||
#endif
|
||||
#endif
|
||||
#else
|
||||
#include <pthread.h>
|
||||
#include <semaphore.h>
|
||||
#define LOCK_TYPE sem_t
|
||||
#define CX_LOGGING_API(t) t
|
||||
#endif
|
||||
|
||||
// define structure for managing exception information
|
||||
typedef struct {
|
||||
char message[MAXPATHLEN + 1024];
|
||||
} ExceptionInfo;
|
||||
|
||||
|
||||
// define structure for managing logging state
|
||||
typedef struct {
|
||||
FILE *fp;
|
||||
char *fileName;
|
||||
char *fileNameMask;
|
||||
char *prefix;
|
||||
unsigned long level;
|
||||
unsigned long maxFiles;
|
||||
unsigned long maxFileSize;
|
||||
unsigned long seqNum;
|
||||
int reuseExistingFiles;
|
||||
int rotateFiles;
|
||||
int fileOwned;
|
||||
ExceptionInfo exceptionInfo;
|
||||
} LoggingState;
|
||||
|
||||
|
||||
// define structure for managing logging state for Python
|
||||
typedef struct {
|
||||
PyObject_HEAD
|
||||
LoggingState *state;
|
||||
LOCK_TYPE lock;
|
||||
} udt_LoggingState;
|
||||
|
||||
|
||||
// define logging levels
|
||||
#define LOG_LEVEL_DEBUG 10
|
||||
#define LOG_LEVEL_INFO 20
|
||||
#define LOG_LEVEL_WARNING 30
|
||||
#define LOG_LEVEL_ERROR 40
|
||||
#define LOG_LEVEL_CRITICAL 50
|
||||
#define LOG_LEVEL_NONE 100
|
||||
|
||||
|
||||
// define defaults
|
||||
#define DEFAULT_MAX_FILE_SIZE 1024 * 1024
|
||||
#define DEFAULT_PREFIX "%t"
|
||||
|
||||
|
||||
// declarations of methods exported
|
||||
CX_LOGGING_API(int) StartLogging(const char*, unsigned long, unsigned long,
|
||||
unsigned long, const char *);
|
||||
CX_LOGGING_API(int) StartLoggingEx(const char*, unsigned long, unsigned long,
|
||||
unsigned long, const char *, int, int, ExceptionInfo*);
|
||||
CX_LOGGING_API(int) StartLoggingForPythonThread(const char*, unsigned long,
|
||||
unsigned long, unsigned long, const char *);
|
||||
CX_LOGGING_API(int) StartLoggingForPythonThreadEx(const char*, unsigned long,
|
||||
unsigned long, unsigned long, const char *, int, int);
|
||||
CX_LOGGING_API(int) StartLoggingStderr(unsigned long, const char *);
|
||||
CX_LOGGING_API(int) StartLoggingStderrEx(unsigned long, const char *,
|
||||
ExceptionInfo*);
|
||||
CX_LOGGING_API(int) StartLoggingStdout(unsigned long, const char *);
|
||||
CX_LOGGING_API(int) StartLoggingStdoutEx(unsigned long, const char *,
|
||||
ExceptionInfo*);
|
||||
CX_LOGGING_API(int) StartLoggingFromEnvironment(void);
|
||||
CX_LOGGING_API(void) StopLogging(void);
|
||||
CX_LOGGING_API(void) StopLoggingForPythonThread(void);
|
||||
CX_LOGGING_API(int) LogMessage(unsigned long, const char*);
|
||||
CX_LOGGING_API(int) LogMessageV(unsigned long, const char*, ...);
|
||||
CX_LOGGING_API(int) LogMessageVaList(unsigned long, const char*, va_list);
|
||||
CX_LOGGING_API(int) LogMessageForPythonV(unsigned long, const char*, ...);
|
||||
CX_LOGGING_API(int) WriteMessageForPython(unsigned long, PyObject*);
|
||||
CX_LOGGING_API(int) LogDebug(const char*);
|
||||
CX_LOGGING_API(int) LogInfo(const char*);
|
||||
CX_LOGGING_API(int) LogWarning(const char*);
|
||||
CX_LOGGING_API(int) LogError(const char*);
|
||||
CX_LOGGING_API(int) LogCritical(const char*);
|
||||
CX_LOGGING_API(int) LogTrace(const char*);
|
||||
CX_LOGGING_API(unsigned long) GetLoggingLevel(void);
|
||||
CX_LOGGING_API(int) SetLoggingLevel(unsigned long);
|
||||
CX_LOGGING_API(int) LogPythonObject(unsigned long, const char*, const char*,
|
||||
PyObject*);
|
||||
CX_LOGGING_API(int) LogPythonException(const char*);
|
||||
CX_LOGGING_API(int) LogPythonExceptionWithTraceback(const char*, PyObject*,
|
||||
PyObject*, PyObject*);
|
||||
CX_LOGGING_API(int) LogConfiguredException(PyObject*, const char*);
|
||||
CX_LOGGING_API(udt_LoggingState*) GetLoggingState(void);
|
||||
CX_LOGGING_API(int) SetLoggingState(udt_LoggingState*);
|
||||
CX_LOGGING_API(int) IsLoggingStarted(void);
|
||||
CX_LOGGING_API(int) IsLoggingAtLevelForPython(unsigned long);
|
||||
|
||||
#if defined MS_WINDOWS && !defined UNDER_CE
|
||||
CX_LOGGING_API(int) LogWin32Error(DWORD, const char*);
|
||||
CX_LOGGING_API(int) LogGUID(unsigned long, const char*, const IID*);
|
||||
#endif
|
||||
|
||||
#ifdef MS_WINDOWS
|
||||
CX_LOGGING_API(int) StartLoggingW(const WCHAR*, unsigned long, unsigned long,
|
||||
unsigned long, const WCHAR*);
|
||||
CX_LOGGING_API(int) StartLoggingExW(const WCHAR*, unsigned long,
|
||||
unsigned long, unsigned long, const WCHAR*, int, int,
|
||||
ExceptionInfo*);
|
||||
CX_LOGGING_API(int) LogMessageW(unsigned long, const WCHAR*);
|
||||
CX_LOGGING_API(int) LogDebugW(const WCHAR*);
|
||||
CX_LOGGING_API(int) LogInfoW(const WCHAR*);
|
||||
CX_LOGGING_API(int) LogWarningW(const WCHAR*);
|
||||
CX_LOGGING_API(int) LogErrorW(const WCHAR*);
|
||||
CX_LOGGING_API(int) LogCriticalW(const WCHAR*);
|
||||
CX_LOGGING_API(int) LogTraceW(const WCHAR*);
|
||||
#endif
|
||||
Reference in New Issue
Block a user