ubinos
Macros | Functions
logm.h File Reference

ubiclib (Ubinos C Library) 컴포넌트 로그 메세지 인터페이스 More...

#include <ubinos_config.h>
#include <ubinos/type.h>

Go to the source code of this file.

Macros

#define LOGM_CATEGORY__NONE   0
 
#define LOGM_CATEGORY__UBINOS   1
 
#define LOGM_CATEGORY__BSP   2
 
#define LOGM_CATEGORY__UBIK   3
 
#define LOGM_CATEGORY__TASK   4
 
#define LOGM_CATEGORY__SEM   5
 
#define LOGM_CATEGORY__MSGQ   6
 
#define LOGM_CATEGORY__CONDV   7
 
#define LOGM_CATEGORY__SIGNAL   8
 
#define LOGM_CATEGORY__STIMER   9
 
#define LOGM_CATEGORY__UBICLIB   10
 
#define LOGM_CATEGORY__HEAP   11
 
#define LOGM_CATEGORY__UBIDRV   12
 
#define LOGM_CATEGORY__NVMEM   13
 
#define LOGM_CATEGORY__RESOLVED04   14
 
#define LOGM_CATEGORY__RESOLVED05   15
 
#define LOGM_CATEGORY__RESOLVED06   16
 
#define LOGM_CATEGORY__RESOLVED07   17
 
#define LOGM_CATEGORY__RESOLVED08   18
 
#define LOGM_CATEGORY__RESOLVED09   19
 
#define LOGM_CATEGORY__SYS00   20
 
#define LOGM_CATEGORY__SYS01   21
 
#define LOGM_CATEGORY__SYS02   22
 
#define LOGM_CATEGORY__SYS03   23
 
#define LOGM_CATEGORY__SYS04   24
 
#define LOGM_CATEGORY__SYS05   25
 
#define LOGM_CATEGORY__SYS06   26
 
#define LOGM_CATEGORY__SYS07   27
 
#define LOGM_CATEGORY__SYS08   28
 
#define LOGM_CATEGORY__SYS09   29
 
#define LOGM_CATEGORY__USER00   30
 
#define LOGM_CATEGORY__USER01   31
 
#define LOGM_CATEGORY__USER02   32
 
#define LOGM_CATEGORY__USER03   33
 
#define LOGM_CATEGORY__USER04   34
 
#define LOGM_CATEGORY__USER05   35
 
#define LOGM_CATEGORY__USER06   36
 
#define LOGM_CATEGORY__USER07   37
 
#define LOGM_CATEGORY__USER08   38
 
#define LOGM_CATEGORY__USER09   39
 
#define LOGM_CATEGORY__END   40
 
#define LOGM_LEVEL__SILENT   0
 
#define LOGM_LEVEL__FATAL   1
 
#define LOGM_LEVEL__ERROR   2
 
#define LOGM_LEVEL__WARNING   3
 
#define LOGM_LEVEL__INFO   4
 
#define LOGM_LEVEL__DEBUG   5
 
#define LOGM_LEVEL__VERBOSE   6
 
#define LOGM_LEVEL__END   7
 
#define LOGM_CATEGORY   LOGM_CATEGORY__NONE
 
#define LOGM_LEVEL   LOGM_LEVEL__WARNING
 
#define LOGM_TAG   NULL
 
#define LOGM_TICK_COUNT_LENGTH   10
 
#define LOGM_TAG_LENGTH   20
 
#define LOGM_FUNCTION_NAME_LENGTH   40
 
#define LOGM_LINE_NUMBER_LENGTH   6
 
#define logm   (msg) logm_println(LOGM_CATEGORY, LOGM_LEVEL, LOGM_TAG, __FUNCTION__, __LINE__, msg)
 
#define logmt(msg)   logm_println(LOGM_CATEGORY, LOGM_LEVEL__FATAL, LOGM_TAG, __FUNCTION__, __LINE__, msg)
 
#define logme(msg)   logm_println(LOGM_CATEGORY, LOGM_LEVEL__ERROR, LOGM_TAG, __FUNCTION__, __LINE__, msg)
 
#define logmw(msg)   logm_println(LOGM_CATEGORY, LOGM_LEVEL__WARNING, LOGM_TAG, __FUNCTION__, __LINE__, msg)
 
#define logmi(msg)   logm_println(LOGM_CATEGORY, LOGM_LEVEL__INFO, LOGM_TAG, __FUNCTION__, __LINE__, msg)
 
#define logmd(msg)   logm_println(LOGM_CATEGORY, LOGM_LEVEL__DEBUG, LOGM_TAG, __FUNCTION__, __LINE__, msg)
 
#define logmv(msg)   logm_println(LOGM_CATEGORY, LOGM_LEVEL__VERBOSE, LOGM_TAG, __FUNCTION__, __LINE__, msg)
 
#define logmf   (format, args...) logm_printfln(LOGM_CATEGORY, LOGM_LEVEL, LOGM_TAG, __FUNCTION__, __LINE__, format, ## args)
 
#define logmft(format, args...)   logm_printfln(LOGM_CATEGORY, LOGM_LEVEL__FATAL, LOGM_TAG, __FUNCTION__, __LINE__, format, ## args)
 
#define logmfe(format, args...)   logm_printfln(LOGM_CATEGORY, LOGM_LEVEL__ERROR, LOGM_TAG, __FUNCTION__, __LINE__, format, ## args)
 
#define logmfw(format, args...)   logm_printfln(LOGM_CATEGORY, LOGM_LEVEL__WARNING, LOGM_TAG, __FUNCTION__, __LINE__, format, ## args)
 
#define logmfi(format, args...)   logm_printfln(LOGM_CATEGORY, LOGM_LEVEL__INFO, LOGM_TAG, __FUNCTION__, __LINE__, format, ## args)
 
#define logmfd(format, args...)   logm_printfln(LOGM_CATEGORY, LOGM_LEVEL__DEBUG, LOGM_TAG, __FUNCTION__, __LINE__, format, ## args)
 
#define logmfv(format, args...)   logm_printfln(LOGM_CATEGORY, LOGM_LEVEL__VERBOSE, LOGM_TAG, __FUNCTION__, __LINE__, format, ## args)
 

Functions

int logm_setlevel (int category, int level)
 
int logm_getlevel (int category)
 
int logm_println (int category, int level, const char *tag, const char *func, int line, const char *msg)
 
int logm_printfln (int category, int level, const char *tag, const char *func, int line, const char *format,...)
 

Detailed Description

ubiclib (Ubinos C Library) 컴포넌트 로그 메세지 인터페이스

ubiclib 컴포넌트가 제공하는 로그 메세지 인터페이스를 정의합니다.

Macro Definition Documentation

◆ logm

#define logm   (msg) logm_println(LOGM_CATEGORY, LOGM_LEVEL, LOGM_TAG, __FUNCTION__, __LINE__, msg)

메시지를 기록하는 매크로 (LOGM_LEVEL로 정의된 기본 수준)

◆ LOGM_CATEGORY

#define LOGM_CATEGORY   LOGM_CATEGORY__NONE

카테고리 기본 값

◆ LOGM_CATEGORY__BSP

#define LOGM_CATEGORY__BSP   2

BSP 카테고리

◆ LOGM_CATEGORY__CONDV

#define LOGM_CATEGORY__CONDV   7

상태 변수 카테고리

◆ LOGM_CATEGORY__END

#define LOGM_CATEGORY__END   40

카테고리 끝

◆ LOGM_CATEGORY__HEAP

#define LOGM_CATEGORY__HEAP   11

힙 카테고리

◆ LOGM_CATEGORY__MSGQ

#define LOGM_CATEGORY__MSGQ   6

메시지큐 카테고리

◆ LOGM_CATEGORY__NONE

#define LOGM_CATEGORY__NONE   0

미분류 카테고리

◆ LOGM_CATEGORY__NVMEM

#define LOGM_CATEGORY__NVMEM   13

비휘발성 메모리 카테고리

◆ LOGM_CATEGORY__RESOLVED04

#define LOGM_CATEGORY__RESOLVED04   14

확장을 위한 예약 카테고리

◆ LOGM_CATEGORY__SEM

#define LOGM_CATEGORY__SEM   5

세마포어 카테고리

◆ LOGM_CATEGORY__SIGNAL

#define LOGM_CATEGORY__SIGNAL   8

시그널 카테고리

◆ LOGM_CATEGORY__STIMER

#define LOGM_CATEGORY__STIMER   9

세마포어 타이머 카테고리

◆ LOGM_CATEGORY__SYS00

#define LOGM_CATEGORY__SYS00   20

시스템 0 카테고리

◆ LOGM_CATEGORY__SYS01

#define LOGM_CATEGORY__SYS01   21

시스템 1 카테고리

◆ LOGM_CATEGORY__SYS02

#define LOGM_CATEGORY__SYS02   22

시스템 2 카테고리

◆ LOGM_CATEGORY__SYS03

#define LOGM_CATEGORY__SYS03   23

시스템 3 카테고리

◆ LOGM_CATEGORY__SYS04

#define LOGM_CATEGORY__SYS04   24

시스템 4 카테고리

◆ LOGM_CATEGORY__SYS05

#define LOGM_CATEGORY__SYS05   25

시스템 5 카테고리

◆ LOGM_CATEGORY__SYS06

#define LOGM_CATEGORY__SYS06   26

시스템 6 카테고리

◆ LOGM_CATEGORY__SYS07

#define LOGM_CATEGORY__SYS07   27

시스템 7 카테고리

◆ LOGM_CATEGORY__SYS08

#define LOGM_CATEGORY__SYS08   28

시스템 8 카테고리

◆ LOGM_CATEGORY__SYS09

#define LOGM_CATEGORY__SYS09   29

시스템 9 카테고리

◆ LOGM_CATEGORY__TASK

#define LOGM_CATEGORY__TASK   4

테스크 카테고리

◆ LOGM_CATEGORY__UBICLIB

#define LOGM_CATEGORY__UBICLIB   10

유비노스 C 라이브러리 카테고리

◆ LOGM_CATEGORY__UBIDRV

#define LOGM_CATEGORY__UBIDRV   12

유비노스 디바이스 드라이버 카테고리

◆ LOGM_CATEGORY__UBIK

#define LOGM_CATEGORY__UBIK   3

유비노스 커널 카테고리

◆ LOGM_CATEGORY__UBINOS

#define LOGM_CATEGORY__UBINOS   1

유비노스 카테고리

◆ LOGM_CATEGORY__USER00

#define LOGM_CATEGORY__USER00   30

사용자 0 카테고리

◆ LOGM_CATEGORY__USER01

#define LOGM_CATEGORY__USER01   31

사용자 1 카테고리

◆ LOGM_CATEGORY__USER02

#define LOGM_CATEGORY__USER02   32

사용자 2 카테고리

◆ LOGM_CATEGORY__USER03

#define LOGM_CATEGORY__USER03   33

사용자 3 카테고리

◆ LOGM_CATEGORY__USER04

#define LOGM_CATEGORY__USER04   34

사용자 4 카테고리

◆ LOGM_CATEGORY__USER05

#define LOGM_CATEGORY__USER05   35

사용자 5 카테고리

◆ LOGM_CATEGORY__USER06

#define LOGM_CATEGORY__USER06   36

사용자 6 카테고리

◆ LOGM_CATEGORY__USER07

#define LOGM_CATEGORY__USER07   37

사용자 7 카테고리

◆ LOGM_CATEGORY__USER08

#define LOGM_CATEGORY__USER08   38

사용자 8 카테고리

◆ LOGM_CATEGORY__USER09

#define LOGM_CATEGORY__USER09   39

사용자 9 카테고리

◆ LOGM_FUNCTION_NAME_LENGTH

#define LOGM_FUNCTION_NAME_LENGTH   40

출력되는 함수명의 최소 길이

◆ LOGM_LEVEL

#define LOGM_LEVEL   LOGM_LEVEL__WARNING

레벨 기본 값

◆ LOGM_LEVEL__DEBUG

#define LOGM_LEVEL__DEBUG   5

디버깅시 필요한 정보까지 모두 출력함

◆ LOGM_LEVEL__END

#define LOGM_LEVEL__END   7

레벨 끝

◆ LOGM_LEVEL__ERROR

#define LOGM_LEVEL__ERROR   2

일반적인 문제에 관한 메시지까지만 출력함

◆ LOGM_LEVEL__FATAL

#define LOGM_LEVEL__FATAL   1

심각한 수준의 문제에 관한 메시지까지만 출력함

◆ LOGM_LEVEL__INFO

#define LOGM_LEVEL__INFO   4

동작 상태 정보까지만 출력함

◆ LOGM_LEVEL__SILENT

#define LOGM_LEVEL__SILENT   0

어떤 메시지도 출력하지 않음

◆ LOGM_LEVEL__VERBOSE

#define LOGM_LEVEL__VERBOSE   6

기타 상세 정보까지 모두 출력함

◆ LOGM_LEVEL__WARNING

#define LOGM_LEVEL__WARNING   3

경고 메시지까지만 출력함

◆ LOGM_LINE_NUMBER_LENGTH

#define LOGM_LINE_NUMBER_LENGTH   6

출력되는 줄 번호의 최소 길이

◆ LOGM_TAG

#define LOGM_TAG   NULL

테그 기본 값

◆ LOGM_TAG_LENGTH

#define LOGM_TAG_LENGTH   20

출력되는 테그 최소 길이

◆ LOGM_TICK_COUNT_LENGTH

#define LOGM_TICK_COUNT_LENGTH   10

출력되는 틱 카운트 최소 길이

◆ logmd

#define logmd (   msg)    logm_println(LOGM_CATEGORY, LOGM_LEVEL__DEBUG, LOGM_TAG, __FUNCTION__, __LINE__, msg)

메시지를 기록하는 매크로 (LOGM_LEVEL__DEBUG 수준)

◆ logme

#define logme (   msg)    logm_println(LOGM_CATEGORY, LOGM_LEVEL__ERROR, LOGM_TAG, __FUNCTION__, __LINE__, msg)

메시지를 기록하는 매크로 (LOGM_LEVEL__ERROR 수준)

Examples
intrtest00.c.

◆ logmf

#define logmf   (format, args...) logm_printfln(LOGM_CATEGORY, LOGM_LEVEL, LOGM_TAG, __FUNCTION__, __LINE__, format, ## args)

메시지를 기록하는 매크로 (LOGM_LEVEL로 정의된 기본 수준)

◆ logmfd

#define logmfd (   format,
  args... 
)    logm_printfln(LOGM_CATEGORY, LOGM_LEVEL__DEBUG, LOGM_TAG, __FUNCTION__, __LINE__, format, ## args)

메시지를 기록하는 매크로 (LOGM_LEVEL__DEBUG 수준)

◆ logmfe

#define logmfe (   format,
  args... 
)    logm_printfln(LOGM_CATEGORY, LOGM_LEVEL__ERROR, LOGM_TAG, __FUNCTION__, __LINE__, format, ## args)

메시지를 기록하는 매크로 (LOGM_LEVEL__ERROR 수준)

◆ logmfi

#define logmfi (   format,
  args... 
)    logm_printfln(LOGM_CATEGORY, LOGM_LEVEL__INFO, LOGM_TAG, __FUNCTION__, __LINE__, format, ## args)

메시지를 기록하는 매크로 (LOGM_LEVEL__INFO 수준)

◆ logmft

#define logmft (   format,
  args... 
)    logm_printfln(LOGM_CATEGORY, LOGM_LEVEL__FATAL, LOGM_TAG, __FUNCTION__, __LINE__, format, ## args)

메시지를 기록하는 매크로 (LOGM_LEVEL__FATAL 수준)

◆ logmfv

#define logmfv (   format,
  args... 
)    logm_printfln(LOGM_CATEGORY, LOGM_LEVEL__VERBOSE, LOGM_TAG, __FUNCTION__, __LINE__, format, ## args)

메시지를 기록하는 매크로 (LOGM_LEVEL__VERBOSE 수준)

◆ logmfw

#define logmfw (   format,
  args... 
)    logm_printfln(LOGM_CATEGORY, LOGM_LEVEL__WARNING, LOGM_TAG, __FUNCTION__, __LINE__, format, ## args)

메시지를 기록하는 매크로 (LOGM_LEVEL__WARNING 수준)

◆ logmi

#define logmi (   msg)    logm_println(LOGM_CATEGORY, LOGM_LEVEL__INFO, LOGM_TAG, __FUNCTION__, __LINE__, msg)

메시지를 기록하는 매크로 (LOGM_LEVEL__INFO 수준)

◆ logmt

#define logmt (   msg)    logm_println(LOGM_CATEGORY, LOGM_LEVEL__FATAL, LOGM_TAG, __FUNCTION__, __LINE__, msg)

메시지를 기록하는 매크로 (LOGM_LEVEL__FATAL 수준)

◆ logmv

#define logmv (   msg)    logm_println(LOGM_CATEGORY, LOGM_LEVEL__VERBOSE, LOGM_TAG, __FUNCTION__, __LINE__, msg)

메시지를 기록하는 매크로 (LOGM_LEVEL__VERBOSE 수준)

◆ logmw

#define logmw (   msg)    logm_println(LOGM_CATEGORY, LOGM_LEVEL__WARNING, LOGM_TAG, __FUNCTION__, __LINE__, msg)

메시지를 기록하는 매크로 (LOGM_LEVEL__WARNING 수준)

Function Documentation

◆ logm_getlevel()

int logm_getlevel ( int  category)

설정되어 있는 기록할 메시지 수준을 돌려주는 함수

Parameters
category메시지 분류 번호
Returns
설정되어 있는 기록할 메시지 수준

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음

◆ logm_printfln()

int logm_printfln ( int  category,
int  level,
const char *  tag,
const char *  func,
int  line,
const char *  format,
  ... 
)

메시지를 기록하는 함수

Parameters
category메시지 분류 번호
level메시지 수준
tag메시지 테그
func메시지를 출력하는 함수 이름
line메시지를 출력하는 줄 수
format메시지 형식
...메시지에 포함될 데이터들
Returns
기록한 메시지 길이

-1: 오류

◆ logm_println()

int logm_println ( int  category,
int  level,
const char *  tag,
const char *  func,
int  line,
const char *  msg 
)

메시지를 기록하는 함수

Parameters
category메시지 분류 번호
level메시지 수준
tag메시지 테그
func메시지를 출력하는 함수 이름
line메시지를 출력하는 줄 수
msg메시지
Returns
기록한 메시지 길이

-1: 오류

◆ logm_setlevel()

int logm_setlevel ( int  category,
int  level 
)

기록할 메시지 수준을 설정하는 함수

Parameters
category메시지 분류 번호 (-1은 모든 분류)
level기록할 메시지 수준 (설정한 수준 이상(같거나 작은 값)의 메시지만 기록됨)
Returns
설정한 기록할 메시지 수준

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음