iPXE
Macros | Functions
syslog.h File Reference

System logger. More...

#include <stdarg.h>
#include <ipxe/ansiesc.h>
#include <config/console.h>

Go to the source code of this file.

Macros

#define LOG_EMERG   0
 Emergency: system is unusable. More...
 
#define LOG_ALERT   1
 Alert: action must be taken immediately. More...
 
#define LOG_CRIT   2
 Critical: critical conditions. More...
 
#define LOG_ERR   3
 Error: error conditions. More...
 
#define LOG_WARNING   4
 Warning: warning conditions. More...
 
#define LOG_NOTICE   5
 Notice: normal but significant conditions. More...
 
#define LOG_INFO   6
 Informational: informational messages. More...
 
#define LOG_DEBUG   7
 Debug: debug-level messages. More...
 
#define LOG_NONE   -1
 Do not log any messages. More...
 
#define LOG_ALL   LOG_DEBUG
 Log all messages. More...
 
#define SYSLOG_SET_PRIORITY(priority)   "\033[" #priority "p"
 ANSI private escape sequence to set syslog priority. More...
 
#define SYSLOG_CLEAR_PRIORITY   "\033[p"
 ANSI private escape sequence to clear syslog priority. More...
 
#define vsyslog(priority, fmt, args)
 Write message to system log. More...
 
#define syslog(priority, fmt, ...)
 Write message to system log. More...
 

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 
void log_vprintf (const char *fmt, va_list args)
 Write message to system log. More...
 
void __attribute__ ((format(printf, 1, 2))) log_printf(const char *fmt
 

Detailed Description

System logger.

Definition in file syslog.h.

Macro Definition Documentation

◆ LOG_NONE

#define LOG_NONE   -1

Do not log any messages.

Definition at line 52 of file syslog.h.

◆ LOG_ALL

#define LOG_ALL   LOG_DEBUG

Log all messages.

Definition at line 55 of file syslog.h.

◆ SYSLOG_SET_PRIORITY

#define SYSLOG_SET_PRIORITY (   priority)    "\033[" #priority "p"

ANSI private escape sequence to set syslog priority.

Parameters
priorityPriority

Definition at line 66 of file syslog.h.

◆ SYSLOG_CLEAR_PRIORITY

#define SYSLOG_CLEAR_PRIORITY   "\033[p"

ANSI private escape sequence to clear syslog priority.

Definition at line 70 of file syslog.h.

◆ vsyslog

#define vsyslog (   priority,
  fmt,
  args 
)
Value:
do { \
if ( (priority) <= LOG_LEVEL ) { \
log_vprintf ( SYSLOG_SET_PRIORITY ( priority ) fmt \
SYSLOG_CLEAR_PRIORITY, (args) ); \
} \
} while ( 0 )
#define LOG_LEVEL
Definition: console.h:62
#define SYSLOG_CLEAR_PRIORITY
ANSI private escape sequence to clear syslog priority.
Definition: syslog.h:70
#define SYSLOG_SET_PRIORITY(priority)
ANSI private escape sequence to set syslog priority.
Definition: syslog.h:66
uint16_t priority
Priotity.
Definition: stp.h:12
int ssize_t const char * fmt
Definition: vsprintf.h:72

Write message to system log.

Parameters
priorityMessage priority
fmtFormat string
...Arguments

Definition at line 79 of file syslog.h.

◆ syslog

#define syslog (   priority,
  fmt,
  ... 
)
Value:
do { \
if ( (priority) <= LOG_LEVEL ) { \
log_printf ( SYSLOG_SET_PRIORITY ( priority ) fmt \
SYSLOG_CLEAR_PRIORITY, ##__VA_ARGS__ ); \
} \
} while ( 0 )
#define LOG_LEVEL
Definition: console.h:62
#define SYSLOG_CLEAR_PRIORITY
ANSI private escape sequence to clear syslog priority.
Definition: syslog.h:70
#define SYSLOG_SET_PRIORITY(priority)
ANSI private escape sequence to set syslog priority.
Definition: syslog.h:66
uint16_t priority
Priotity.
Definition: stp.h:12
int ssize_t const char * fmt
Definition: vsprintf.h:72

Write message to system log.

Parameters
priorityMessage priority
fmtFormat string
...Arguments

Definition at line 93 of file syslog.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )

◆ log_vprintf()

void log_vprintf ( const char *  fmt,
va_list  args 
)

Write message to system log.

Parameters
fmtFormat string
argsArguments

Definition at line 42 of file log.c.

42  {
43  int saved_usage;
44 
45  /* Mark console as in use for log messages */
47 
48  /* Print message */
49  vprintf ( fmt, args );
50 
51  /* Restore console usage */
53 }
#define CONSOLE_USAGE_LOG
Log messages.
Definition: console.h:150
static int console_set_usage(int usage)
Set console usage.
Definition: console.h:187
static unsigned int saved_usage
Definition: ansi_screen.c:13
int ssize_t const char * fmt
Definition: vsprintf.h:72
int vprintf(const char *fmt, va_list args)
Write a formatted string to the console.
Definition: vsprintf.c:449

References console_set_usage(), CONSOLE_USAGE_LOG, fmt, saved_usage, and vprintf().

Referenced by log_printf().

◆ __attribute__()

void __attribute__ ( (format(printf, 1, 2))  ) const