Added logging to lua-side, logging library is complete
This commit is contained in:
parent
1576e64176
commit
a6c18d293a
1
main.c
1
main.c
|
@ -189,6 +189,7 @@ int initialize_everything(char* lua_file) {
|
||||||
OCT_LOG_INFO("Initialized lua state");
|
OCT_LOG_INFO("Initialized lua state");
|
||||||
luaL_openlibs(L);
|
luaL_openlibs(L);
|
||||||
oct_tb_initialize_lua(L);
|
oct_tb_initialize_lua(L);
|
||||||
|
oct_log_init_lua(L);
|
||||||
if (luaL_dofile(L, lua_file)) return OCT_LUA_FILE_NOT_FOUND;
|
if (luaL_dofile(L, lua_file)) return OCT_LUA_FILE_NOT_FOUND;
|
||||||
OCT_LOG_INFO("Begin running oct_init()");
|
OCT_LOG_INFO("Begin running oct_init()");
|
||||||
lua_getglobal(L, "oct_init");
|
lua_getglobal(L, "oct_init");
|
||||||
|
|
41
oct_log.c
41
oct_log.c
|
@ -1,6 +1,10 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <lua5.3/lualib.h>
|
||||||
|
#include <lua5.3/lauxlib.h>
|
||||||
#include "oct_log.h"
|
#include "oct_log.h"
|
||||||
|
|
||||||
|
|
||||||
FILE* oct_log_output_file;
|
FILE* oct_log_output_file;
|
||||||
int oct_log_level;
|
int oct_log_level;
|
||||||
|
|
||||||
|
@ -24,3 +28,40 @@ int oct_log_deinit() {
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int oct_log_init_lua(lua_State* L) {
|
||||||
|
lua_pushcfunction(L, oct_log_error_lua);
|
||||||
|
lua_setglobal(L, "OCT_LOG_ERROR");
|
||||||
|
lua_pushcfunction(L, oct_log_warning_lua);
|
||||||
|
lua_setglobal(L, "OCT_LOG_WARNING");
|
||||||
|
lua_pushcfunction(L, oct_log_info_lua);
|
||||||
|
lua_setglobal(L, "OCT_LOG_INFO");
|
||||||
|
lua_pushcfunction(L, oct_log_debug_lua);
|
||||||
|
lua_setglobal(L, "OCT_LOG_DEBUG");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int oct_log_error_lua(lua_State* L) {
|
||||||
|
char buffer[OCT_LOG_MAX_MESSAGE_LENGTH_LUA];
|
||||||
|
strncpy(buffer, luaL_checkstring(L, -1), OCT_LOG_MAX_MESSAGE_LENGTH_LUA);
|
||||||
|
OCT_LOG_ERROR("%s", buffer);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
int oct_log_warning_lua(lua_State* L) {
|
||||||
|
char buffer[OCT_LOG_MAX_MESSAGE_LENGTH_LUA];
|
||||||
|
strncpy(buffer, luaL_checkstring(L, -1), OCT_LOG_MAX_MESSAGE_LENGTH_LUA);
|
||||||
|
OCT_LOG_WARNING("%s", buffer);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
int oct_log_info_lua(lua_State* L) {
|
||||||
|
char buffer[OCT_LOG_MAX_MESSAGE_LENGTH_LUA];
|
||||||
|
strncpy(buffer, luaL_checkstring(L, -1), OCT_LOG_MAX_MESSAGE_LENGTH_LUA);
|
||||||
|
OCT_LOG_INFO("%s", buffer);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
int oct_log_debug_lua(lua_State* L) {
|
||||||
|
char buffer[OCT_LOG_MAX_MESSAGE_LENGTH_LUA];
|
||||||
|
strncpy(buffer, luaL_checkstring(L, -1), OCT_LOG_MAX_MESSAGE_LENGTH_LUA);
|
||||||
|
OCT_LOG_DEBUG("%s", buffer);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
16
oct_log.h
16
oct_log.h
|
@ -8,6 +8,10 @@
|
||||||
#define OCT_LOG_LEVEL_INFO 2
|
#define OCT_LOG_LEVEL_INFO 2
|
||||||
#define OCT_LOG_LEVEL_DEBUG 3
|
#define OCT_LOG_LEVEL_DEBUG 3
|
||||||
|
|
||||||
|
#define OCT_LOG_MAX_MESSAGE_LENGTH_LUA 1024
|
||||||
|
|
||||||
|
#include <lua5.3/lualib.h>
|
||||||
|
|
||||||
extern FILE* oct_log_output_file;
|
extern FILE* oct_log_output_file;
|
||||||
extern int oct_log_level;
|
extern int oct_log_level;
|
||||||
|
|
||||||
|
@ -43,4 +47,16 @@ extern int oct_log_level;
|
||||||
int oct_log_init(char* filename, int level);
|
int oct_log_init(char* filename, int level);
|
||||||
int oct_log_deinit();
|
int oct_log_deinit();
|
||||||
|
|
||||||
|
// Logging on the C-side (oct_log_init) is initialized before lua
|
||||||
|
// Thus, we have to have a separate function for initializing logging on the
|
||||||
|
// lua-side that is called after lua is initialized
|
||||||
|
int oct_log_init_lua(lua_State* L);
|
||||||
|
|
||||||
|
// Can't call macros directly from lua, these are just wrapper functions
|
||||||
|
// for the above macros
|
||||||
|
int oct_log_error_lua(lua_State* L);
|
||||||
|
int oct_log_warning_lua(lua_State* L);
|
||||||
|
int oct_log_info_lua(lua_State* L);
|
||||||
|
int oct_log_debug_lua(lua_State* L);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue