| 64 | } |
| 65 | |
| 66 | void Device::commit() |
| 67 | { |
| 68 | auto OSPRAY_DEBUG = utility::getEnvVar<int>("OSPRAY_DEBUG"); |
| 69 | debugMode = OSPRAY_DEBUG.value_or(getParam<bool>("debug", false)); |
| 70 | |
| 71 | auto OSPRAY_WARN = utility::getEnvVar<int>("OSPRAY_WARN_AS_ERROR"); |
| 72 | warningsAreErrors = |
| 73 | OSPRAY_WARN.value_or(getParam<bool>("warnAsError", false)); |
| 74 | |
| 75 | auto OSPRAY_TRACE_API = utility::getEnvVar<int>("OSPRAY_TRACE_API"); |
| 76 | bool traceAPI = OSPRAY_TRACE_API.value_or(getParam<bool>("traceApi", false)); |
| 77 | |
| 78 | if (traceAPI && !apiTraceEnabled) { |
| 79 | auto streamPtr = std::make_shared<std::ofstream>("ospray_api_trace.txt"); |
| 80 | |
| 81 | trace_fcn = [=](const char *message) { |
| 82 | auto &stream = *streamPtr; |
| 83 | stream << message << std::endl; |
| 84 | }; |
| 85 | } else if (!traceAPI) { |
| 86 | trace_fcn = [](const char *) {}; |
| 87 | } |
| 88 | |
| 89 | apiTraceEnabled = traceAPI; |
| 90 | |
| 91 | logLevel = (OSPLogLevel)getParam<uint32_t>("logLevel", OSP_LOG_NONE); |
| 92 | |
| 93 | auto logLevelStr = |
| 94 | utility::getEnvVar<std::string>("OSPRAY_LOG_LEVEL").value_or(""); |
| 95 | |
| 96 | logLevel = logLevelFromString(logLevelStr).value_or(logLevel); |
| 97 | |
| 98 | auto OSPRAY_NUM_THREADS = utility::getEnvVar<int>("OSPRAY_NUM_THREADS"); |
| 99 | numThreads = OSPRAY_NUM_THREADS.value_or(getParam<int>("numThreads", -1)); |
| 100 | |
| 101 | auto OSPRAY_LOG_OUTPUT = utility::getEnvVar<std::string>("OSPRAY_LOG_OUTPUT"); |
| 102 | |
| 103 | auto dst = OSPRAY_LOG_OUTPUT.value_or(getParam<std::string>("logOutput", "")); |
| 104 | |
| 105 | if (dst == "cout") |
| 106 | installStatusMsgFunc(*this, std::cout); |
| 107 | else if (dst == "cerr") |
| 108 | installStatusMsgFunc(*this, std::cerr); |
| 109 | else if (dst == "none") |
| 110 | msg_fcn = [](void *, const char *) {}; |
| 111 | |
| 112 | auto OSPRAY_ERROR_OUTPUT = |
| 113 | utility::getEnvVar<std::string>("OSPRAY_ERROR_OUTPUT"); |
| 114 | |
| 115 | dst = OSPRAY_ERROR_OUTPUT.value_or(getParam<std::string>("errorOutput", "")); |
| 116 | |
| 117 | if (dst == "cout") |
| 118 | installErrorMsgFunc(*this, std::cout); |
| 119 | else if (dst == "cerr") |
| 120 | installErrorMsgFunc(*this, std::cerr); |
| 121 | else if (dst == "none") |
| 122 | error_fcn = [](void *, OSPError, const char *) {}; |
| 123 |
no test coverage detected