logger_client.anubis 4.24 KB
/*
 * Created by PyramIDE.
 * User: フランスのトトロ aka (David RENÉ) 
 * Date: 01/12/2019
 * Time: 02:09
 * © David RENÉ
 */

transmit system/logger.anubis
read system/message_transceiver.anubis
read system/parameter/inifile.anubis
read calexium_lib/CXM_message_constants.anubis

define One
  local_net_logger
  (
    String  logger_server,
    Message log_message
  )=
  with anb_log_path = find_and_replace(my_anubis_directory, "\\", "/") + "/anb_log/",
  with ini = loadIniFile(anb_log_path+"config.ini"),
  server_port    = readWord32(ini, "GENERAL", "udp_port", 45514),
  forget(send_message_by_udp(log_message, ip_address((127,0,0,1)), server_port))
.


define Message
  create_log_msg
  (
    String  uid,
    String  logger_name,
    String  log_string,
    Int     level
  )=
  with len = length(log_string),
  //println("len log string "+len);
  with string = if length(log_string) > 2048 then (if sub_string(log_string, 0, 2048) is success(s) then s else "?") + "... original log string length "+len
                                             else log_string,
  with log_msg = message(_CXM_LOGGER_LOG),
  forget(add_string(log_msg,  "UID",        uid));
  forget(add_string(log_msg,  "LOG_NAME",   logger_name));
  forget(add_string(log_msg,  "LOG_STRING", string));
  forget(add_int32(log_msg,   "LEVEL",      truncate_to_Word32(level)));
  forget(add_int32(log_msg,   "THREAD_ID",  virtual_machine_id));
  log_msg
.


public define One 
  register_logger
  (
    String    uid,
    String    logger_name,
    Int       format_size,
    Bool      absolute_path,
    String    file_name,
    LogLevel  file_level,
    LogLevel  cons_level
  )=
  with register_msg = message(_CXM_LOGGER_REGISTER_LOG),
  forget(add_string(register_msg, "UID",          uid));
  forget(add_string(register_msg, "LOG_NAME",     logger_name));
  forget(add_int32(register_msg,  "FORMAT_SIZE",  truncate_to_Word32(format_size)));
  forget(add_string(register_msg, "FILE_NAME",    file_name));
  forget( add_int32(register_msg, "FILE_LEVEL",   truncate_to_Word32(get_log_level_value(file_level))));
  forget( add_int32(register_msg, "CONS_LEVEL",   truncate_to_Word32(get_log_level_value(cons_level))));
  local_net_logger("127.0.0.1", register_msg)
.

public define One 
  register_uid
  (
    String    uid,
    String    default_path,
    Bool      absolute_path
  )=
  with register_msg = message(_CXM_LOGGER_REGISTER_UID),
  forget(add_string(register_msg, "UID",             uid));
  forget(add_string(register_msg, "DEFAULT_PATH",    default_path));
  forget(  add_bool(register_msg, "ABSOLUTE_PATH",   absolute_path));
  local_net_logger("127.0.0.1", register_msg)
.


public define One 
  log
  (
    String    uid,
    LogLevel  level,
    String    logger_name, 
    String    log_string
  )=
  local_net_logger("127.0.0.1", create_log_msg(uid, logger_name, log_string, get_log_level_value(level)))
.

public define One 
  logNone
  (
    String  uid,
    String logger_name, 
    String log_string
  )=
  local_net_logger("127.0.0.1", create_log_msg(uid, logger_name, log_string, 0)).

public define One 
  logCriticalError
  (
    String  uid,
    String  logger_name, 
    String  log_string
  )=
  local_net_logger("127.0.0.1", create_log_msg(uid, logger_name, log_string, 1)).

public define One 
  logError
  (
    String  uid,
    String  logger_name, 
    String  log_string
  )=
  local_net_logger("127.0.0.1", create_log_msg(uid, logger_name, log_string, 2)).

public define One 
  logWarning
  (
    String  uid,
    String  logger_name, 
    String  log_string
  )=
  local_net_logger("127.0.0.1", create_log_msg(uid, logger_name, log_string, 3)).
  
public define One 
  logInfo( 
    String  uid,
    String  logger_name, 
    String  log_string
  )=
  local_net_logger("127.0.0.1", create_log_msg(uid, logger_name, log_string, 4)).

public define One 
  logDebug
  (
    String  uid,
    String  logger_name, 
    String  log_string
  )=
  local_net_logger("127.0.0.1", create_log_msg(uid, logger_name, log_string, 5)).

public define One 
  logTrace
  (
    String  uid,
    String  logger_name,
    LogMask log_mask,
    String  log_string
  )=
  with log_msg = create_log_msg(uid, logger_name, log_string, 6),
  forget(add_string(log_msg, "LOG_MASK", log_mask.mask));
  local_net_logger("127.0.0.1", log_msg).