Blender V5.0
logging.cpp
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation
2 *
3 * SPDX-License-Identifier: Apache-2.0 */
4
5#include "blender/CCL_api.h"
6#include "util/log.h"
7
8#include "CLG_log.h"
9
10static CLG_LogRef LOG = {"cycles"};
11
13{
14 /* Set callback to pass log messages to CLOG. */
15 ccl::log_init(
16 [](const ccl::LogLevel level, const char *file_line, const char *func, const char *msg) {
17 const CLG_LogType *log_type = CLOG_ENSURE(&LOG);
18 switch (level) {
19 case ccl::LOG_LEVEL_FATAL:
20 case ccl::LOG_LEVEL_DFATAL:
21 CLG_log_str(log_type, CLG_LEVEL_FATAL, file_line, func, msg);
22 return;
23 case ccl::LOG_LEVEL_ERROR:
24 case ccl::LOG_LEVEL_DERROR:
25 CLG_log_str(log_type, CLG_LEVEL_ERROR, file_line, func, msg);
26 return;
27 case ccl::LOG_LEVEL_WARNING:
28 case ccl::LOG_LEVEL_DWARNING:
29 CLG_log_str(log_type, CLG_LEVEL_WARN, file_line, func, msg);
30 return;
31 case ccl::LOG_LEVEL_INFO:
32 case ccl::LOG_LEVEL_INFO_IMPORTANT:
33 CLG_log_str(log_type, CLG_LEVEL_INFO, file_line, func, msg);
34 return;
35 case ccl::LOG_LEVEL_DEBUG:
36 CLG_log_str(log_type, CLG_LEVEL_DEBUG, file_line, func, msg);
37 return;
38 case ccl::LOG_LEVEL_TRACE:
39 case ccl::LOG_LEVEL_UNKNOWN:
40 CLG_log_str(log_type, CLG_LEVEL_TRACE, file_line, func, msg);
41 return;
42 }
43 });
44
45 /* Map log level from CLOG. */
46 const CLG_LogType *log_type = CLOG_ENSURE(&LOG);
47 switch (log_type->level) {
48 case CLG_LEVEL_FATAL:
49 ccl::log_level_set(ccl::LOG_LEVEL_FATAL);
50 break;
51 case CLG_LEVEL_ERROR:
52 ccl::log_level_set(ccl::LOG_LEVEL_ERROR);
53 break;
54 case CLG_LEVEL_WARN:
55 ccl::log_level_set(ccl::LOG_LEVEL_WARNING);
56 break;
57 case CLG_LEVEL_INFO:
58 ccl::log_level_set(ccl::LOG_LEVEL_INFO);
59 break;
60 case CLG_LEVEL_DEBUG:
61 ccl::log_level_set(ccl::LOG_LEVEL_DEBUG);
62 break;
63 case CLG_LEVEL_TRACE:
64 ccl::log_level_set(ccl::LOG_LEVEL_TRACE);
65 break;
66 }
67}
void CLG_log_str(const CLG_LogType *lg, enum CLG_Level level, const char *file_line, const char *fn, const char *message) _CLOG_ATTR_NONNULL(1
#define CLOG_ENSURE(clg_ref)
Definition CLG_log.h:144
@ CLG_LEVEL_ERROR
Definition CLG_log.h:56
@ CLG_LEVEL_DEBUG
Definition CLG_log.h:62
@ CLG_LEVEL_INFO
Definition CLG_log.h:60
@ CLG_LEVEL_FATAL
Definition CLG_log.h:54
@ CLG_LEVEL_WARN
Definition CLG_log.h:58
@ CLG_LEVEL_TRACE
Definition CLG_log.h:64
#define LOG(level)
Definition log.h:97
void CCL_log_init()
Definition logging.cpp:12