Commons Library  1.7.0
Cargando...
Buscando...
Nada coincide
log.h
Ir a la documentación de este archivo.
1/*
2 * Copyright (C) 2012 Sistemas Operativos - UTN FRBA. All rights reserved.
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#ifndef LOG_H_
17#define LOG_H_
18
19 #include <stdio.h>
20 #include <stdbool.h>
21 #include <sys/types.h>
22
35
40 typedef struct {
41 FILE* file;
45 pid_t pid;
46 }t_log;
47
64 t_log* log_create(char* file, char *process_name, bool is_active_console, t_log_level level);
65
69 void log_destroy(t_log* logger);
70
76 void log_trace(t_log* logger, const char* message, ...) __attribute__((format(printf, 2, 3)));
77
83 void log_debug(t_log* logger, const char* message, ...) __attribute__((format(printf, 2, 3)));
84
90 void log_info(t_log* logger, const char* message, ...) __attribute__((format(printf, 2, 3)));
91
97 void log_warning(t_log* logger, const char* message, ...) __attribute__((format(printf, 2, 3)));
98
104 void log_error(t_log* logger, const char* message, ...) __attribute__((format(printf, 2, 3)));
105
112
119
120#endif /* LOG_H_ */
void log_warning(t_log *logger, const char *message,...)
Loguea un mensaje con el siguiente formato [WARNING] hh:mm:ss:mmmm PROCESS_NAME/(PID:TID): MESSAGE
t_log * log_create(char *file, char *process_name, bool is_active_console, t_log_level level)
Crea una instancia de logger.
t_log_level log_level_from_string(char *level)
Convierte un string a su representacion en t_log_level.
void log_destroy(t_log *logger)
Destruye una instancia de logger.
void log_trace(t_log *logger, const char *message,...)
Loguea un mensaje con el siguiente formato [TRACE] hh:mm:ss:mmmm PROCESS_NAME/(PID:TID): MESSAGE
char * log_level_as_string(t_log_level level)
Convierte un t_log_level a su representacion en string.
void log_info(t_log *logger, const char *message,...)
Loguea un mensaje con el siguiente formato [INFO] hh:mm:ss:mmmm PROCESS_NAME/(PID:TID): MESSAGE
t_log_level
Definition log.h:28
@ LOG_LEVEL_DEBUG
Loguea solo mensajes de log_debug en adelante.
Definition log.h:30
@ LOG_LEVEL_ERROR
Loguea solo mensajes de log_error.
Definition log.h:33
@ LOG_LEVEL_WARNING
Loguea solo mensajes de log_warning en adelante.
Definition log.h:32
@ LOG_LEVEL_TRACE
Loguea todos los mensajes.
Definition log.h:29
@ LOG_LEVEL_INFO
Loguea solo mensajes de log_info en adelante.
Definition log.h:31
void log_error(t_log *logger, const char *message,...)
Loguea un mensaje con el siguiente formato [ERROR] hh:mm:ss:mmmm PROCESS_NAME/(PID:TID): MESSAGE
void log_debug(t_log *logger, const char *message,...)
Loguea un mensaje con el siguiente formato [DEBUG] hh:mm:ss:mmmm PROCESS_NAME/(PID:TID): MESSAGE
Manejo de logs. Inicializar con log_create()
Definition log.h:40
t_log_level detail
Definition log.h:43
pid_t pid
Definition log.h:45
bool is_active_console
Definition log.h:42
FILE * file
Definition log.h:41
char * program_name
Definition log.h:44