Hybrid ICN (hICN) plugin  v21.06-rc0-4-g18fa668
logger.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017-2019 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
25 #ifndef logger_h
26 #define logger_h
27 
28 #ifndef _WIN32
29 #include <sys/time.h>
30 #endif
31 #include <parc/algol/parc_Buffer.h>
32 #include <parc/algol/parc_Clock.h>
33 #include <parc/logging/parc_LogLevel.h>
34 #include <parc/logging/parc_LogReporter.h>
35 #include <stdarg.h>
36 
37 struct logger;
38 typedef struct logger Logger;
39 
47 typedef enum {
48  LoggerFacility_Config,
49  LoggerFacility_Core,
50  LoggerFacility_IO,
51  LoggerFacility_Processor,
52  LoggerFacility_Message,
53  LoggerFacility_Strategy,
54  LoggerFacility_END // sentinel value
56 
66 const char *logger_FacilityString(LoggerFacility facility);
67 
77 const char *logger_LevelString(PARCLogLevel level);
78 
90 Logger *logger_Create(PARCLogReporter *reporter, const PARCClock *clock);
91 
95 void logger_Release(Logger **loggerPtr);
96 
100 Logger *logger_Acquire(const Logger *logger);
101 
113 void logger_SetLogLevel(Logger *logger, LoggerFacility facility,
114  PARCLogLevel minimumLevel);
115 
130 bool logger_IsLoggable(const Logger *logger, LoggerFacility facility,
131  PARCLogLevel level);
132 
146 void logger_Log(Logger *logger, LoggerFacility facility, PARCLogLevel level,
147  const char *module, const char *format, ...);
148 
158 void logger_SetReporter(Logger *logger, PARCLogReporter *reporter);
159 
169 void logger_SetClock(Logger *logger, PARCClock *clock);
170 #endif // logger_h
logger_Acquire
Logger * logger_Acquire(const Logger *logger)
LoggerFacility
LoggerFacility
Definition: logger.h:47
logger_SetReporter
void logger_SetReporter(Logger *logger, PARCLogReporter *reporter)
logger_Release
void logger_Release(Logger **loggerPtr)
logger_Log
void logger_Log(Logger *logger, LoggerFacility facility, PARCLogLevel level, const char *module, const char *format,...)
logger_IsLoggable
bool logger_IsLoggable(const Logger *logger, LoggerFacility facility, PARCLogLevel level)
logger_Create
Logger * logger_Create(PARCLogReporter *reporter, const PARCClock *clock)
logger_SetClock
void logger_SetClock(Logger *logger, PARCClock *clock)
logger_SetLogLevel
void logger_SetLogLevel(Logger *logger, LoggerFacility facility, PARCLogLevel minimumLevel)
logger_FacilityString
const char * logger_FacilityString(LoggerFacility facility)
logger_LevelString
const char * logger_LevelString(PARCLogLevel level)