amis-rpc-design/node_modules/react-native/ReactCommon/logger/react_native_log.cpp
2023-10-07 19:42:30 +08:00

53 lines
1.4 KiB
C++

/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#include "react_native_log.h"
#include <glog/logging.h>
static reactnativelogfunctype _reactnativelogfunc = NULL;
void set_react_native_logfunc(reactnativelogfunctype newlogfunc) {
_reactnativelogfunc = newlogfunc;
}
void react_native_log_info(const char *message) {
_react_native_log(ReactNativeLogLevelInfo, message);
}
void react_native_log_warn(const char *message) {
_react_native_log(ReactNativeLogLevelWarning, message);
}
void react_native_log_error(const char *message) {
_react_native_log(ReactNativeLogLevelError, message);
}
void react_native_log_fatal(const char *message) {
_react_native_log(ReactNativeLogLevelFatal, message);
}
void _react_native_log(ReactNativeLogLevel level, const char *message) {
if (_reactnativelogfunc == NULL) {
_react_native_log_default(level, message);
} else {
_reactnativelogfunc(level, message);
}
}
void _react_native_log_default(ReactNativeLogLevel level, const char *message) {
switch (level) {
case ReactNativeLogLevelInfo:
LOG(INFO) << message;
break;
case ReactNativeLogLevelWarning:
LOG(WARNING) << message;
break;
case ReactNativeLogLevelError:
LOG(ERROR) << message;
break;
case ReactNativeLogLevelFatal:
LOG(FATAL) << message;
break;
}
}