LogWrite

Table of Contents

LogWrite

Description

Core log message generation function

Parameters

NameDirectionDescription
typeinSeverity level of message
taginSource identifier (typically function name)
lineinSource line number
msginConstant string to be printed

Success

Message formatted and written to log output

Failure

Message silently dropped (output not guaranteed)

Usage example (Cross-references)

    }
    
    void LogWrite(LogMessageType type, const char *tag, int line, const char *msg) {
    if (!msg) {
    return;
    Str m_ = StrInit();                                                                                            \
    StrWriteFmt(&m_, __VA_ARGS__);                                                                                 \
    LogWrite(LOG_MESSAGE_TYPE_FATAL, __func__, __LINE__, m_.data);                                                 \
    StrDeinit(&m_);                                                                                                \
    SysAbort();                                                                                                    \
    Str m_ = StrInit();                                                                                            \
    StrWriteFmt(&m_, __VA_ARGS__);                                                                                 \
    LogWrite(LOG_MESSAGE_TYPE_ERROR, __func__, __LINE__, m_.data);                                                 \
    StrDeinit(&m_);                                                                                                \
    } while (0)
    Str m_ = StrInit();                                                                                            \
    StrWriteFmt(&m_, __VA_ARGS__);                                                                                 \
    LogWrite(LOG_MESSAGE_TYPE_INFO, __func__, __LINE__, m_.data);                                                  \
    StrDeinit(&m_);                                                                                                \
    } while (0)
    StrWriteFmt(&m_, " : {}", syserr_);                                                                        \
    });                                                                                                            \
    LogWrite(LOG_MESSAGE_TYPE_FATAL, __func__, __LINE__, m_.data);                                                 \
    StrDeinit(&m_);                                                                                                \
    SysAbort();                                                                                                    \
    StrWriteFmt(&m_, " : {}", syserr_);                                                                        \
    });                                                                                                            \
    LogWrite(LOG_MESSAGE_TYPE_ERROR, __func__, __LINE__, m_.data);                                                 \
    StrDeinit(&m_);                                                                                                \
    } while (0)
    StrWriteFmt(&m_, " : {}", syserr_);                                                                        \
    });                                                                                                            \
    LogWrite(LOG_MESSAGE_TYPE_INFO, __func__, __LINE__, m_.data);                                                  \
    StrDeinit(&m_);                                                                                                \
    } while (0)

Share :

Related Posts

LOG_FATAL

LOG_FATAL Description Writes a fatal log message and aborts the program. …[in] : Format string and arguments following printf-style syntax.

Read More

LOG_SYS_FATAL

LOG_SYS_FATAL Description Writes a fatal log message and aborts the program, with errno explanation appended at the end of final string.

Read More

LOG_ERROR

LOG_ERROR Description Writes an error-level log message. …[in] : Format string and arguments following printf-style syntax.

Read More