-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlibrary.h
More file actions
55 lines (48 loc) · 1.45 KB
/
library.h
File metadata and controls
55 lines (48 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#pragma once
#ifndef CPPLOGER_LIBRARY_H
#define CPPLOGER_LIBRARY_H
#include <iostream>
#include <fstream>
#ifdef __use_cpplogger_macros
#define log cpplogger_log
#define info cpplogger_info
#define warning cpplogger_warning
#define error cpplogger_error
#endif
//C++ Compatible API
#ifdef __cplusplus
class cpplogger {
public:
cpplogger(bool console_enabled, std::string log_file);
~cpplogger();
void log(std::string msg);
void info(std::string msg, int level);
void warning(std::string msg, int level);
void error(std::string msg, int level);
bool getCoutLogEnabled() const;
void setCoutLogEnabled(bool new_state);
private:
bool console_enabled;
std::string log_file;
std::fstream log_file_stream;
};
#endif
#ifdef __cplusplus
extern "C" {
#endif
// C-Compatible API
typedef struct {
void *ptr;
}cpplogger_handle;
cpplogger_handle* cpplogger_create(bool console_enabled, const char* log_file);
void cpplogger_destroy(cpplogger_handle* handle);
void cpplogger_log(const char* msg, cpplogger_handle* handle);
void cpplogger_info(const char* msg, int level, cpplogger_handle* handle);
void cpplogger_warning(const char* msg, int level, cpplogger_handle* handle);
void cpplogger_error(const char* msg, int level, cpplogger_handle* handle);
bool cpplogger_getCoutLogEnabled(cpplogger_handle* handle);
void cpplogger_setCoutLogEnabled(cpplogger_handle* handle, bool new_state);
#ifdef __cplusplus
}
#endif
#endif //CPPLOGER_LIBRARY_H